MFC遍历文件夹
作者:flyfish 2010-03-11
一 获取指定目录下当前文件夹和文件的路径
以获取D:\\test目录下的文件夹和文件为例
void ClassName::BrowseCurrentDir(CString strDir)
{
CFileFind finder;
CString strPath;
BOOL bWorking = finder.FindFile(strDir);
while (bWorking)
{
bWorking = finder.FindNextFile();
strPath = finder.GetFilePath();
//strPath就是所要获取Test目录下的文件夹和文件(包括路径)
//m_List.AddString(strPath);
}
finder.Close();
}
调用方式:
BrowseCurrentDir(_T("D:\\test\\*.*"));
如果是查找txt文本是 BrowseCurrentDir(_T("D:\\test\\*.txt"));
二获取指定目录下的所有文件的路径
以获取D:\\test目录下所有文件路径为例
void ClassName::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就是所要获取的文件路径
//m_List.AddString(strPath);
}
}
}
调用方式:
BrowseCurrentAllFile(_T("D:\\test"));
以上程序在Windows XP sp3+VC2005下调试通过