知道一个文件的文件名称,如何快速的得到这个文件的大小?
不论是只读文件,还是正常文件,或者是只读目录下的文件,都能获得文件的大小。

解决方案 »

  1.   

    只知道文件名吗?
    那就先找到文件吧,
    然后用
    The GetFileSize function retrieves the size, in bytes, of the specified file. DWORD GetFileSize(
      HANDLE hFile,  // handle of file to get size of
      LPDWORD lpFileSizeHigh 
                     // pointer to high-order word for file size
    );
      

  2.   

    CFile file;
    file.Open("F:\\b\\1.txt",CFile::modeRead);
    long i=file.GetLength();
      

  3.   

    To: LinHanLao(凌寒)
        GetFileSize函数当然知道,问题是取得文件句柄,怎么个取法,这对执行速度影响很大,我现在用的是CreateFile,但效果不好;To triggerd(有点着急)
        抱歉,忘记说了,不使用MFC的
      

  4.   

    使用标准库的_filelength()函数。
      

  5.   

    用一个API函数搞定GetFileAttributesEx
      

  6.   

    参考:
    CString gfilepath=(CString)lpFilePath+(CString)lpFileName;
      
    WIN32_FIND_DATA       FindFileData; FindClose(FindFirstFile(gfilepath, &FindFileData));
       
        FindFileData.nFileSizeHigh;
        FindFileData.nFileSizeLow;
      

  7.   

    你要的是一个search文件的好的算法, 是吗?
      

  8.   

    GetFileAttributesEx不错
    SHGetFileInfo也不错