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 就是所要獲取的檔案路徑
}
}
}