遍历文件夹内的文件 实例代码
来源:互联网 发布:矩阵的秩和方程组的解 编辑:程序博客网 时间:2024/06/07 04:00
相关函数:open, readdir, closedir, rewinddir, seekdir, telldir, scandir
头文件:#include <sys/types.h> #include <dirent.h>定义函数:DIR * opendir(const char * name);函数说明:opendir()用来打开参数name 指定的目录, 并返回DIR*形态的目录流, 和open()类似, 接下来对目录的读取和搜索都要使用此返回值.返回值:成功则返回DIR* 型态的目录流, 打开失败则返回NULL.错误代码:1、EACCESS 权限不足。2、EMFILE 已达到进程可同时打开的文件数上限。3、ENFILE 已达到系统可同时打开的文件数上限。4、ENOTDIR 参数name 非真正的目录。5、ENOENT 参数name 指定的目录不存在, 或是参数name 为一空字符串。6、ENOMEM 核心内存不足。
示例:
int get_file_count(char *dir_name){ DIR *dir; struct dirent * ptr; int total = 0; char path[MAX]; dir = opendir(root); /* 打开目录*/ if (dir == NULL) { perror("fail to open dir"); exit(1); } errno = 0; while ((ptr = readdir(dir)) != NULL) { //顺序读取每一个目录项; //跳过“..”和“.”两个目录 if (strcmp(ptr->d_name,".") == 0 || strcmp(ptr->d_name,"..") == 0) { continue; } //printf("%s%s/n",root,ptr->d_name); //如果是目录,则递归调用 get_file_count函数 if(ptr->d_type == DT_DIR) { sprintf(path,"%s%s/",root,ptr->d_name); //printf("%s/n",path); total += get_file_count(path); } if(ptr->d_type == DT_REG) { total++; printf("%s%s/n",root,ptr->d_name); } } if (errno != 0) { printf("fail to read dir"); //失败则输出提示信息 exit(1); } closedir(dir); return total;}int main(int argc, char * argv[]){ int total; if(argc != 2) { printf("wrong usage/n"); exit(1); } total = get_file_count(argv[1]); printf("%s ha %d files/n",argv[1],total); return 0;}
0 0
- 遍历文件夹内的文件 实例代码
- 遍历文件夹内的所有文件
- 【转】遍历文件夹内的所有文件和子文件
- 遍历/删除文件夹文件实例
- PHP递归遍历指定文件夹内的文件
- Purebasic遍历文件夹内所有文件
- 遍历文件夹内所有xml文件
- 遍历文件夹的文件
- c#递归遍历指定文件夹内的所有文件(包含子文件夹)
- 统计文件夹内指定类型文件的代码行数(二)
- C#遍历整个文件夹及子目录的文件代码
- matlab代码-遍历文件夹中指定类型的文件
- fso遍历文件夹内所有文件和子文件夹
- 通过后缀名遍历文件夹内的图像
- python遍历文件夹内所有文件or合并文件
- 删除文件夹内的文件
- VC++能用的,遍历文件夹及子文件夹文件的代码
- 遍历一文件夹的所有文件/文件夹
- 最好的开发者网站
- ffmpeg解码错误concealing 9 DC, 9 AC, 9 MV errors in I frame
- asp.net C# 发qq邮件
- Vue2.0之去掉组件click事件的native修饰
- Ubuntu16.04LTS 下Opencv3.1.0 的安装
- 遍历文件夹内的文件 实例代码
- NDK学习笔记<五> 简单模拟aLiPay支付流程
- UWP入门(二) -- 基础笔记
- MySQL InnoDB存储引擎
- Java中的Filter过滤器
- java8 HashMap学习
- makefile中关于all和.PHONY
- log4j学习
- 打造新的教育生态环境,传智专修学院在江苏沭阳成立