我用FindFirstFile搜索文件夹。路径写的是C:\\*.*的时候,可以搜索出所有的文件。但是如果指定了文件类型就搜索不了了,为什么,比如我路径写成C:\\*.txt那么我只能搜索出根目录下的*.txt的文件我原来的目的是想要用递归搜索出C:\\路径下所有的*.txt文件。而不是搜索出根目录下的文件。请问各位大大,我该怎么去做??

解决方案 »

  1.   

    http://dev.firnow.com/course/3_program/c++/cppjs/20090914/175092.html
    子目录,是要自己判断遍历的!
      

  2.   

    void Recurse(LPCTSTR pstr)
    {
       CFileFind finder;   // build a string with wildcards
       CString strWildcard(pstr);
       strWildcard += "\\*.txt";   // start working for files
       BOOL bWorking = finder.FindFile(strWildcard);   while (bWorking)
       {
          bWorking = finder.FindNextFile();      // skip . and .. files; otherwise, we'd
          // recur infinitely!      if (finder.IsDots())
             continue;      // if it's a directory, recursively search it      if (finder.IsDirectory())
          {
             CString str = finder.GetFilePath();
             TRACE(_T("%s
    "), (LPCTSTR)str);
             Recurse(str);
          }
       }   finder.Close();
    }调用的时候:
    Recurse(_T("C:"));