在VC编程中,时常会需要遍历某个文件夹中的文件或者文件夹。这个本身是个非常容易的事。可是我每次都不能完整的记下怎么遍历(可能年龄大了容易忘事)。这样每次就需要重新查询一次。这样不但浪费时间,还有时不能很快查到结果。这里就把这段代码记录下来,免得下次查询,也可以供需要查询的人直接拷贝利用。
find(char * lpPath)
{
char szFind[MAX_PATH];
WIN32_FIND_DATA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"\\*.*");
HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData.cFileName[0]!='.')
{
strcpy(szFile,lpPath);
strcat(szFile,"\\");
strcat(szFile,FindFileData.cFileName);
find(szFile);
}
}
else
{
cout << FindFileData.cFileName;
}
if(!FindNextFile(hFind,&FindFileData)) break;
}
FindClose(hFind);
}
评论