MFC遍历文件夹

 

MFC遍历文件夹

 

作者:flyfish 2010-03-11

 

一 获取指定目录下当前文件夹和文件的路径

 

以获取D://test目录下的文件夹和文件为例

 

Void 类名::BrowseCurrentDir(CString strDir)

{

CFileFind finder;

     CString strPath;

     BOOL bWorking = finder.FindFile(strDir);

     while (bWorking)

     {

         bWorking = finder.FindNextFile();

         strPath=finder.GetFilePath();

         //strPath就是所要获取Test目录下的文件夹和文件(包括路径)

 

     }

     stdFile.Close();

}

 

调用方式:

BrowseCurrentDir(_T("D://test//*.*"));

 

二获取指定目录下的所有文件的路径

 

以获取D://test目录下所有文件路径为例

 

Void 类名::BrowseCurrentAllFile(CString strDir)

{

     if(strDir == _T(""))

     {

         return;

     }

     else

     {

         if(strDir.Right(1) != _T("//"))

              strDir += L"//";

         strDir =strDir+_T("*.*");

     }

     CFileFind finder;

     CString strPath;

     BOOL bWorking = finder.FindFile(strDir);

     while(bWorking)

     {

         bWorking = finder.FindNextFile();

         strPath = finder.GetFilePath();

         if(finder.IsDirectory() && !finder.IsDots())

              BrowseCurrentAllFile(strPath); //递归调用

         else if(!finder.IsDirectory() && !finder.IsDots())

         {

              //strPaht就是所要获取的文件路径

         }

 

     }

}

 

调用方式:

BrowseCurrentAllFile(_T("D://test"));

 

以上程序在Windows XP sp3+VC2005下调试通过

你可能感兴趣的:(windows,XP,mfc,2010)