16,466
社区成员
发帖
与我相关
我的任务
分享
bool FileExists(String FileName)
{
HANDLE hFile = CreateFile(FileName.c_str(), GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
bool Result = (INVALID_HANDLE_VALUE == hFile);
if (!Result)
CloseHandle(&hFile);
return Result;
}
void Recurse(LPCTSTR pstr)
{
CFileFind finder;
// build a string with wildcards
CString strWildcard(pstr);
strWildcard += _T("\\*.*");
// start working for files
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
// skip . and .. files; otherwise, we'd
// recur infinitely!
if (finder.IsDots())
continue;
// if it's a directory, recursively search it
if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
Recurse(str);
}
else
{
CString str = file.GetFileName();
if(str == _T("1.txt"))
{
// 找到文件
}
}
}
finder.Close();
}
void PrintDirs()
{
Recurse(_T("C:"));
}
intptr_t _findfirst(
const char *filespec,
struct _finddata_t *fileinfo
);