findfile用法

来源:互联网 发布:ok组合三连冠时期数据 编辑:程序博客网 时间:2024/06/05 11:15

CFileFind::FindFile

 

virtual BOOL FindFile( LPCTSTR pstrName = NULL, DWORD dwUnused = 0 );

参数

pstrName
以一个包含该文件的名称来找到指针。如果你传递pstrName空,FindFile (*.*)做了通配符搜索。
dwUnused
保留作出FindFile多态性与派生类。必须为0
返回值
非零如果成功,否则为0。为了获得更多的错误信息,调用Win32函数GetLastError函数
备注
在调用FindFile开始搜索该文件,调用FindNextFile检索后续文件。您必须调用至少一次,然后再调用下面的属性成员函数任何FindNextFile:


#include <afxwin.h>
#include <iostream>

using namespace std;

void Recurse(LPCTSTR pstr)
{
   CFileFind finder;

   // build a string with wildcards
   CString strWildcard(pstr);
   strWildcard += _T("//*.*");

   // 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();
         cout << (LPCTSTR) str << endl;
         Recurse(str);
      }
   }

   finder.Close();
}

void main()
{
   if (!AfxWinInit(GetModuleHandle(NULL), NULL, GetCommandLine(), 0))
      cout << "panic!" << endl;
   else
      Recurse(_T("C:"));
}