写了个目录遍历的方法,就想达到判断下该文件夹下是否有内容,有就停止遍历即可,但是运行效果总是有问题,空的文件夹遍历也会提示有文件,各位帮我看看void CSECOND::FindDirectory(const CString dt)
{
BOOL b;
CString strWildcard(dt);
strWildcard += _T("\\*.*");
CFileFind f;
b = f.FindFile(strWildcard);
while(b)
{
FindMessage(); if(IsBreak) break;
b=f.FindNextFile();
if (f.IsDirectory())
{

MessageBox("有新文件");
return;

}

}
f.Close();
}

解决方案 »

  1.   

    没有考虑.和..void CSECOND::FindDirectory(const CString dt)
    {
        CString strWildcard(dt);
        strWildcard += _T("\\*.*");
        CFileFind f;
        BOOL bFind = f.FindFile(strWildcard);
        while(bFind)
        {
            bFind = f.FindNextFile();

    if(f.IsDots())
    continue; if (f.IsDirectory())
            {
                
                AfxMessageBox("有新文件");
                return;        
            }
        }
        f.Close();
    }