C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C++遍历文件夹下文件

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

作者:宋勇野

这篇文章主要介绍了C++遍历文件夹下文件的方法,实例分析了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++程序设计有所帮助。

您可能感兴趣的文章:
阅读全文