当前位置:主页 > 软件编程 > C代码 >

C++遍历文件夹下文件的方法

时间:2020-11-05 17:32:22 | 栏目:C代码 | 点击:

本文实例讲述了C++遍历文件夹下文件的方法。分享给大家供大家参考。具体如下:

#include <windows.h>
#include <stdio.h>
#include <string.h>
#define LEN 1024
// 深度优先递归遍历目录中所有的文件
BOOL DirectoryList(LPCSTR Path)
{
 WIN32_FIND_DATA FindData;
 HANDLE hError;
 int FileCount = 0;
 char FilePathName[LEN];
 // 构造路径
 char FullPathName[LEN];
 strcpy(FilePathName, Path);
 strcat(FilePathName, "\\*.*");
 hError = FindFirstFile(FilePathName, &FindData);
 if (hError == INVALID_HANDLE_VALUE)
 {
 printf("搜索失败!");
 return 0;
 }
 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);
 }
 }
 return 0;
}
void main()
{
 DirectoryList("D:eclipse-J2EE");
}

希望本文所述对大家的C++程序设计有所帮助。

您可能感兴趣的文章:

相关文章