C++遍历文件夹下文件的方法
本文实例讲述了C++遍历文件夹下文件的方法。分享给大家供大家参考。具体如下:
#include<windows.h>
#include<stdio.h>
#include<string.h>
#defineLEN1024
//深度优先递归遍历目录中所有的文件
BOOLDirectoryList(LPCSTRPath)
{
WIN32_FIND_DATAFindData;
HANDLEhError;
intFileCount=0;
charFilePathName[LEN];
//构造路径
charFullPathName[LEN];
strcpy(FilePathName,Path);
strcat(FilePathName,"\\*.*");
hError=FindFirstFile(FilePathName,&FindData);
if(hError==INVALID_HANDLE_VALUE)
{
printf("搜索失败!");
return0;
}
while(::FindNextFile(hError,&FindData))
{
//过虑.和..
if(strcmp(FindData.cFileName,".")==0
||strcmp(FindData.cFileName,"..")==0)
{
continue;
}
//构造完整路径
wsprintf(FullPathName,"%s\\%s",Path,FindData.cFileName);
FileCount++;
//输出本级的文件
printf("\n%d%s",FileCount,FullPathName);
if(FindData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
printf("<Dir>");
DirectoryList(FullPathName);
}
}
return0;
}
voidmain()
{
DirectoryList("D:eclipse-J2EE");
}
希望本文所述对大家的C++程序设计有所帮助。