#include <iostream>
#include <vector>
#include <string>
#include <windows.h>
void find(const char* lpPath, std::vector<std::string>& fileList)
{
char szFind[MAX_PATH];
char szFile[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, fileList);
}
}
else
{
fileList.push_back(FindFileData.cFileName);
}
if(!FindNextFile(hFind,&FindFileData))
{
break;
}
}
FindClose(hFind);
}
int main()
{
std::vector<std::string> fileList;
std::vector<std::string>::iterator iter;
find("D:/develop", fileList);
for (iter=fileList.begin(); fileList.end()!=iter;++iter)
{
std::cout << *iter << std::endl;
}
system("pause");
return 0;
}
文件夹递归遍历
最新推荐文章于 2023-09-08 09:13:21 发布