MFC基础问题的郁闷 - CFileFind
递归搜索,得到的文件居然会少. 资源管理器显示的一棵目录树中有 719 个文件,我的程序却只搜索到 506 个文件。唉,这是怎么回事呢?
小规模的目录没有发现问题的。
void SearchFiles(CString &strDir, CString &strFile, int bSubDir)
{
CFileFind ffind;
CString strFind;
int bFind;
strFind = strDir + "*.*";
bFind = ffind.FindFile(strFind);
while(bFind)
{
bFind = ffind.FindNextFile();
TRACE("====== %s\n", ffind.GetFilePath());
if(ffind.IsDirectory() && !ffind.IsDots())
{
SearchFiles(strDir+ffind.GetFileName() + "\\", strFile, 1);
}
else if(!ffind.IsDirectory())
{
g_count++;
TRACE("[%d] %s\n", g_count, (LPCTSTR)ffind.GetFilePath());
}
}
}
void CFfindView::OnFfind()
{
CString strFind, strFile;
// strFind = "d:\\ag\\MyProjects\\";
strFind = "D:\\ag\\ShakingToolkit\\bin\\DocRoot\\";
strFile = "*";
SearchFiles(strFind, strFile, 1);
}