1. 程式人生 > >MFC遍歷檔案和資料夾

MFC遍歷檔案和資料夾

一、獲取指定目錄下的資料夾和檔案為例

以獲取D://test目錄下當前資料夾和檔案的路徑為例

[cpp] Void 類名::BrowseCurrentDir(CString strDir){

CFileFind finder;

CString strPath;

BOOL bWorking = finder.FindFile(strDir);

while(bWorking){

bWorking = finder.FindNextFile();

strPath = finder.GetFilePath();

//strPath就是所要獲取的Test目錄下的資料夾和檔案(包括路徑)

}/*這個只能獲取一級目錄*/

}

呼叫方式:BrowseCurentDir(_T("D:\\test\\*.*"));

二、獲取指定目錄下的所有檔案的路徑

以獲取D:\\test目錄下所有檔案路徑為例

[cpp]

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()){

//strPath 就是所要獲取的檔案路徑

}

}

}