C++擷取檔案大小
來源:互聯網
上載者:User
#include < iostream> #include < io.h> #include < sys\stat.h> #include < afx.h> #define _AFXDLL using namespace std; void main() { // 此檔案在工程開啟狀態下為不可訪問 char* filepath = "..\\test.ncb"; // C++擷取檔案大小方法一 struct _stat info; _stat(filepath, &info); int size = info.st_size; cout< < size< < endl; // C++擷取檔案大小方法二 FILE* file = fopen(filepath, "rb"); if (file) { int size = filelength(fileno(file)); cout< < size< < endl; fclose(file); } // C++擷取檔案大小方法三 CFile cfile; if (cfile.Open(filepath, CFile::modeRead)) { int size = cfile.GetLength(); cout< < size< < endl; } // C++擷取檔案大小方法四 HANDLE handle = CreateFile(filepath, FILE_READ_EA,
FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); if (handle != INVALID_HANDLE_VALUE) { int size = GetFileSize(handle, NULL); cout< < size< < endl; CloseHandle(handle); } } C++擷取檔案大小方法五,這種方法不需要開啟檔案就能直接擷取到檔案大小 CFile cfile;
CFileStatus rStatus;
CFile::GetStatus(_T("D:\\Program Files\\360\\360SD\\360hips.exe"),rStatus);
ULONGLONG ulong = rStatus.m_size;