Win32 APIを使用してファイルサイズを取得する方法です。
GetFileSize()を使用しますが、ファイルハンドルが必要になるため一度開く必要があります。
ちょっとメンドウですね。
↓サンプルです。
GetFileSize()を使用しますが、ファイルハンドルが必要になるため一度開く必要があります。
ちょっとメンドウですね。
↓サンプルです。
DWORD GetFileSizeEx(TCHAR *path)
{
{
HANDLE hFile;
DWORD size_low,size_high;
if(path == NULL){
hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE){
size_low = GetFileSize(hFile,&size_high);
CloseHandle(hFile);
return size_low;
}
DWORD size_low,size_high;
if(path == NULL){
return 0;
}hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE){
return 0;
}size_low = GetFileSize(hFile,&size_high);
CloseHandle(hFile);
return size_low;