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目录下的文件夹和文件(包括路径)
}
}[/cpp]

调用方式:BrowseCurrentDir(_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())
{
//strPaht就是所要获取的文件路径
}
}
}[/cpp]

调用方式:BrowseCurrentAllFile(_T(“D://test”));

文章作者:flyfish 2010-03-11