牛骨文教育服务平台(让学习变的简单)
博文笔记

C++获取文件大小

创建时间:2011-09-27 投稿人: 浏览次数:182
 
  1. #include < iostream> 
  2. #include < io.h> 
  3. #include < sysstat.h> 
  4. #include < afx.h> 
  5. #define _AFXDLL  
  6. using namespace std;  
  7. void main()  
  8. {  
  9. // 此文件在工程打开状态下为不可访问  
  10. char* filepath = "..\test.ncb";  
  11. // C++获取文件大小方法一  
  12. struct _stat info;  
  13. _stat(filepath, &info);  
  14. int size = info.st_size;  
  15. cout< < size< < endl;  
  16. // C++获取文件大小方法二  
  17. FILE* file = fopen(filepath, "rb");  
  18. if (file)  
  19. {  
  20. int size = filelength(fileno(file));  
  21. cout< < size< < endl;  
  22. fclose(file);  
  23. }  
  24. // C++获取文件大小方法三  
  25. CFile cfile;  
  26. if (cfile.Open(filepath, CFile::modeRead))  
  27. {  
  28. int size = cfile.GetLength();  
  29. cout< < size< < endl;  
  30. }  
  31. // C++获取文件大小方法四  
  32. HANDLE handle = CreateFile(filepath, FILE_READ_EA, 
    FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);  
  33. if (handle != INVALID_HANDLE_VALUE)  
  34. {  
  35. int size = GetFileSize(handle, NULL);  
  36. cout< < size< < endl;  
  37. CloseHandle(handle);  
  38. }  
  39. C++获取文件大小方法五,这种方法不需要打开文件就能直接获取到文件大小
  40. CFile cfile; 
     CFileStatus rStatus;
     CFile::GetStatus(_T("D:\Program Files\360\360SD\360hips.exe"),rStatus);
     ULONGLONG ulong = rStatus.m_size;
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。