CFindFile的文档指出:
因此,如果对FindNextFile的调用返回相同的值,我怎么知道是1个文件还是0个文件?
如果找到零个文件,似乎对FindFile::GetFilePath()的调用失败(这会无意间导致我的应用程序崩溃)。
pLog->Log(_T("Finding files in [%s]"), 1, szFilePath);
if (!oFindFile.FindFile(szFilePath, 0))
{
pLog->Log(_T("Failed to find file in directory: [%s]"),1,szDirectory);
return false;
}
bool moreFiles = true;
while(moreFiles)
{
moreFiles = oFindFile.FindNextFile();
if (oFindFile.IsDots())
{
continue;
}
CString szFileName = oFindFile.GetFilePath();
pLog->Log(_T("Found file [%s]"), 1, szFileName);
pVector->push_back(szFileName);
}
return true;
编辑
CString szFilePath = _T("C:\documents and settings\username\desktop\*.lnk");
CString szDirectory = T("C:\documents and settings\username\desktop");
最佳答案
如果没有文件,则对CFileFind::FindFile
的调用将返回false。您需要先调用此函数,然后才能调用FindNextFile
。