chenyonken 2017-07-28 04:57 采纳率: 0%
浏览 1106
已采纳

使用CFileFind::GetLength()出错

使用CFileFind::GetLength()(代码最后一部分)得到的所有搜索到的文件的大小都是0,结果如图,不知道错在哪,

DWORD CFFDlg::FileTraverInDir(LPSTR szPath)
{
    CFileFind ff;
    CString str1;
    CString str2;
    int ret=ff.FindFile(szPath,0);
    if(!ret)
    {
        str1.Format(str1,"%s下没有文件",szPath);
        AfxMessageBox(str1);
        return 0;
    }
    //获取文件的属性:文件名,大小,修改时间,文件类型和修改时间
    ret=ff.FindNextFile();//必须呼叫这个之后才能呼叫其他获取属性的函数
    do
    {

        //获取文件名
        str1=ff.GetFileName();
        ::MessageBox(NULL,str1,"文件名",MB_OK);
        //获取文件创建时间
        FILETIME ft;
        ff.GetCreationTime(&ft);
        CTime refTime(ft);
        str1.Format("%4d年%2d月%2d日 %2d:%2d:%2d",
                    refTime.GetYear(),refTime.GetMonth(),refTime.GetDay(),
                    refTime.GetHour(),refTime.GetMinute(),refTime.GetSecond());
    //  ::MessageBox(NULL,str1,"文件创建时间",0);


        //获取文件大小
        **ULONGLONG length;
        length=ff.GetLength();
        TRACE("%I64u byte(s)",length);
    //  str1.Format("%I64u byte(s)",length);
    //  ::MessageBox(NULL,str1,"文件大小",0);
**
    }while(ff.FindNextFile());//为0说明文件已到最后
    return TRUE;

}

图片说明

  • 写回答

1条回答 默认 最新

  • shen_wei 2017-07-28 08:10
    关注
     length=ff.GetLength();
    

    文件夹是获取不到文件大小的。。只能获取到 .txt .exe等具体文件的大小。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持