

这个代码是在VS2015上, 文件大小大于2GB, fileStatus.m_size获取到的文件大小结果不对, GetStatus还返回执行成功
查看MFC的源代码发现

源码位置: VC\atlmfc\src\mfc\filest.cpp
// get just the low DWORD of the file size
ASSERT(findFileData.nFileSizeHigh == 0);
rStatus.m_size = (LONG)findFileData.nFileSizeLow;可以使用如下代码获取文件大小
BOOL GetFileSize(CString strFilePath, ULONGLONG& nFileSize)
{
	HANDLE hFile = CreateFile(strFilePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL); 
	if(hFile == INVALID_HANDLE_VALUE) {    
		return FALSE; 
	}
	LARGE_INTEGER lFileSize;
	if(!GetFileSizeEx(hFile, &lFileSize)){
		CloseHandle(hFile);
		return FALSE;
	}
	nFileSize = lFileSize.QuadPart;
	CloseHandle(hFile);
	return TRUE;
}