读书人

C/C++多种方法获取文件大小

发布时间: 2009-06-26 09:50:40 作者: liuhuituzi

  C/C++多种方法获取文件大小

  #include

  #include

  #include

  #include

  #define _AFXDLL

  using namespace std;

  void main()

  {

  // 此文件在工程打开状态下为不可访问

  char* filepath = "..\test.ncb";

  // 方法一

  struct _stat info;

  _stat(filepath, &info);

  int size = info.st_size;

  cout<

  // 方法二

  FILE* file = fopen(filepath, "rb");

  if (file)

  {

  int size = filelength(fileno(file));

  cout<

  fclose(file);

  }

  // 方法三

  CFile cfile;

  if (cfile.Open(filepath, CFile::modeRead))

  {

  int size = cfile.GetLength();

  cout<

  }

  // 方法四

  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<

  CloseHandle(handle);

  }

  }

  也可以直接调用WinAPI函数GetFileSize嘛,

  DWORD WINAPI GetFileSize(

  __in HANDLE hFile,

  __out LPDWORD lpFileSizeHigh

  );

  支持Win2000及以后的系统

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.net/exam/

读书人网 >复习指导

热点推荐