c遍历所有文件夹中的文件
来源:互联网 发布:环太平洋 知乎 机型 编辑:程序博客网 时间:2024/05/18 16:15
一个小程序,可以遍历所有文件夹中的文件并打印出来
#include "stdio.h" #include "windows.h"void find(char * lpPath) {char szFind[MAX_PATH],szFile[MAX_PATH];WIN32_FIND_DATA FindFileData;strcpy(szFind,lpPath);strcat(szFind,"\\*.*");HANDLE hFind=::FindFirstFile(szFind,&FindFileData);if(INVALID_HANDLE_VALUE == hFind) return;while(TRUE) {if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {if(FindFileData.cFileName[0]!='.') {strcpy(szFile,lpPath);strcat(szFile,"\\");strcat(szFile,FindFileData.cFileName);find(szFile);}}else {printf("%s\n",FindFileData.cFileName);//printf("%s\n",FindFileData.dwFileAttributes);//printf("%d\n",FindFileData.ftCreationTime.dwHighDateTime);//printf("%d\n",FindFileData.ftCreationTime.dwLowDateTime);}if(!FindNextFile(hFind,&FindFileData)) break;}} void main() {char filepath[MAX_PATH]="e:\\findobj";find(filepath);//system("PAUSE");}
这个find函数是按字母排序进入文件夹查找【文件夹也在字母排序中】,这个特性十分重要,因为直接决定了我写的另外一个小程序copy files功能的实现。
加了一句话 printf(szFile);【另外,由这句话发现,在VC++6.0环境中可以直接printf变量,而不用格式占位符。。。】
while(TRUE) {if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {if(FindFileData.cFileName[0]!='.') {strcpy(szFile,lpPath);strcat(szFile,"\\");strcat(szFile,FindFileData.cFileName);printf(szFile);find(szFile);}}else {printf("%s\n",FindFileData.cFileName);//printf("%s\n",FindFileData.dwFileAttributes);//printf("%d\n",FindFileData.ftCreationTime.dwHighDateTime);//printf("%d\n",FindFileData.ftCreationTime.dwLowDateTime);}if(!FindNextFile(hFind,&FindFileData)) break;}
输出:
0 0
- c遍历所有文件夹中的文件
- 如何用C遍历一个文件夹中的所有文件
- 遍历文件夹中的所有文件夹及文件
- C++ 遍历文件夹中的所有文件
- VC下遍历文件夹中的所有文件
- C#遍历文件夹中的所有文件
- JAVA遍历一个文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- VC++遍历文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- JAVA遍历一个文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- C#遍历指定文件夹中的所有文件
- java 遍历文件夹中的所有文件
- 对数据模型model中时间轴排序和compare的使用
- 陕西:3男子将2女子拐至偏僻山村强奸后活埋
- selenium中发送http请求来测试
- Hadoop Hive sql语法详解3--DML 操作:元数据存储
- POJ 2485 Highways (最小生成树)
- c遍历所有文件夹中的文件
- Linux cp命令直接覆盖不提示方法
- 微软算法经典3 求最长递减子序列
- Jlink_V8+mini2440+axd在线调试的配置
- 关系型和非关系型数据库——学习笔记
- Hadoop Hive sql语法详解4--DQL 操作:数据查询SQL
- Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
- 内核配置
- Hadoop Hive sql语法详解5--HiveQL与SQL区别