Linux下递归读取文件数量
来源:互联网 发布:maxdos pxe网络启动版 编辑:程序博客网 时间:2024/05/16 01:29
#include <stdio.h>#include <stdlib.h>#include <dirent.h>#include <errno.h>#include <string.h>#define MAX 1024/* get_file_count函数的参数是一个路径,表示目录树的根。* 该函数返回参数指定目录下所有普通文件的数目。*/int get_file_count(char *root){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;if(ptr->d_type == DT_DIR){ /* 如果是目录,则递归调用get_file_count函数 */sprintf(path, "%s/%s", root, ptr->d_name);total += get_file_count(path);}if(ptr->d_type == DT_REG) /* 如果是普通文件,则总数递增 */total++;}if(errno != 0){ /* 如果errno是0,则说明目录中目录项已经全部读完 */perror("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 has %d files\n", argv[1], total);return 0;}
0 0
- Linux下递归读取文件数量
- linux下递归读取文件
- linux--linux下统计文件夹文件数量
- linux 统计目录下所有文件数量
- 读取文件夹下的文件数量 并输出文件名
- 递归读取文件夹下所有文件
- 递归读取文件夹下的文件
- php递归函数实现遍历指定文件下的目录与文件数量
- Linux统计文件数量
- linux ls列出目录下所有文件数量
- 磁盘IO瓶颈 之:单节点下的文件数量导致文件读取性能低下
- 递归读取xml 文件;
- Java 递归读取文件
- 递归读取相应路径下的所有文件
- 递归读取某个路径下的所有文件
- javascript使用promise递归读取目录下所有文件
- 递归读取文件夹下的文件,代码怎么实现
- PHP递归读取一个路径下的目录及文件
- Java中的一些String用法
- webstorm快捷键收集
- shell中的特殊符号
- .net 判断文件夹是否存在,创建文件夹
- iOS开发中常用的第三方类库
- Linux下递归读取文件数量
- Java之Timer用法
- Android:得到手机上安装的所有应用的名字以及应用所在的包名
- 【IOS 开发学习总结-OC-59】UI控件——UIPageControl 与UIPageViewController
- Android面试经典题
- 导出product 产品,启动时会出现cmd界面
- 被Python等等乱码问题折腾的死去活来,看了几篇好文章
- JAVA方法 字符串与unicode的相互转换
- 实现QT元类型和QT线程通信