小弟想在一个指定的文件夹下查找后缀名为*.rar、*.zip、*.iso等文件,于是我在按钮的单击事件中添加如下代码:
CFileFind filefind;
int i=0;
if(filefind.FindFile(_T("E:\\应用软件\\*.*")))
{
while(filefind.FindNextFile())
{
CString fileInfo;
if(filefind.IsCompressed())
{
CString file=filefind.GetFilePath();
fileInfo.Format(_T("文件%s是压缩文件"),file);
MessageBox(fileInfo);

}


}
}
filefind.Close();
我那个文件夹里只有少数几个子文件夹,大部分都是rar的压缩文件,为什么它一个都找不到呢?

解决方案 »

  1.   

    呃介个IsCompressed并不是说rar等压缩的
      

  2.   

    CString filter("rar zip cab ace jar"); //自己扩充一下
    CString   file=filefind.GetFilePath();
    file.MakeLower( );int f =filter.Find(file.right(3), 0);
    if(f>-1)
    fileInfo.Format(_T( "文件%s是压缩文件 "),file); 
      

  3.   

    本来我是想用IsCompressed的来判断压缩文件,没想到没有效,看来也只能如楼上所说的做了。