1、struct _stati64 buf;
memset(&buf, 0, sizeof(buf));
int nResult = _stati64(strFilePath.c_str(), &buf);
buf.st_size为文件大小,但如果写入新的内容使用fflush代替fclose时,获取到的文件大小不是真实的文件大小。
2、HANDLE handle = CreateFile(strFilePath, FILE_READ_EA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
int nFileSize = 0;if (handle != INVALID_HANDLE_VALUE)
{
nFileSize = GetFileSize(handle, NULL);
CloseHandle(handle);
}
此方法可以获取文件为关闭文件的真实大小。