void ListFolder(CString sPath)
{
CFileFind ff;
BOOL bFound;
bFound = ff.FindFile(sPath + "//*.*");//找第一个文件
while(bFound)//如果找到,继续
{
bFound = ff.FindNextFile();
CString sFilePath = ff.GetFilePath();
if(ff.IsDirectory())//如果是目录,注意任何一个目录都包括.和..目录
{
if(!ff.IsDots())//去除.和..目录
ListFolder(sFilePath);//递归下一层目录
} else {
AfxMessageBox(sFilePath);//枚举到的文件名字
}
}
ff.Close();
}
本文介绍了一个使用C++实现的目录遍历函数,通过递归方式列出指定路径下的所有子目录及文件名。该方法利用了CFileFind类来查找文件,并过滤掉了特殊目录'.'和'..'。
230

被折叠的 条评论
为什么被折叠?



