通過winapi獲取檔案大小
通過winapi獲取檔案大小
qq:9611153 微信lgs9611153
時間:2010-7-12
背景原因:
獲取檔案大小有多種方式,這裡介紹一種通過GetFileAttributesEx函式獲取檔案大小的方法。
所需資源:
在vc中進行測試。
解決方案:
long getFileSize(const wchar_t * filename ) { GET_FILEEX_INFO_LEVELS fInfoLevelId = GetFileExInfoStandard; WIN32_FILE_ATTRIBUTE_DATA FileInformation; // //通過winapi獲取檔案屬性 BOOL bGet = GetFileAttributesEx(filename,fInfoLevelId,&FileInformation); if { _fsize_t nFileSizeLow = FileInformation.nFileSizeLow; _fsize_t nFileSizeHigh = FileInformation.nFileSizeHigh; ULARGE_INTEGER szFile; szFile.HighPart = nFileSizeHigh;// 超大檔案才需要 szFile.LowPart = nFileSizeLow; return szFile.LowPart; } return 0;
}
int __cdecl _tmain (int argc, TCHAR **argv) { wchar_t* lpFileName = L"E:\\downloads\\medias\\welcome.png"; long filesize = getFileSize(lpFileName);
wcout <<lpFileName <<L" file size = " << filesize << L" bytes" << endl; system(("pause")); return 0; }
|