服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++遍历文件夹下文件的方法

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

2021-03-02 15:11宋勇野 C/C++

这篇文章主要介绍了C++遍历文件夹下文件的方法,实例分析了C++针对文件夹遍历的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#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++程序设计有所帮助。

延伸 · 阅读

精彩推荐