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++程序设计有所帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3