代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>#define MAX_PATH 1024//dirwalk: apply fcn to all files in dir
/*递归遍历目录*/
void dirwalk(char *dir, void (*fcn)(char *))
{char name[MAX_PATH];struct dirent *dp;DIR *dfd;if ((dfd = opendir(dir)) == NULL) {fprintf(stderr, "dirwalk:can not open %s\n", dir);return;}while ((dp = readdir(dfd)) != NULL) {if ((strcmp(dp->d_name, ".") == 0) || (strcmp(dp->d_name, "..") == 0))continue; //skip self and parentif (strlen(dir)+strlen(dp->d_name)+2 > sizeof(name)) {fprintf(stderr, "dirwalk: name %s %s too long\n", dir, dp->d_name);} else {sprintf(name, "%s/%s", dir, dp->d_name);(*fcn)(name);}}closedir(dfd);
}//fsize: print the size and name of the file "name"
void fsize(char *name)
{struct stat st_buf;if (stat(name, &st_buf) != 0) { //通过文件名name获取文件信息,并保存在st_buf所指的结构体stat中fprintf(stderr, "fsize:can not access to %s\n", name); //返回值:执行成功则返回0,失败返回-1,错误代码存于errnoreturn;}if ((st_buf.st_mode & S_IFMT) == S_IFDIR) {dirwalk(name, fsize);}printf("%8ld %s\n", st_buf.st_size, name);
}int main(int argc, char *argv[])
{if (argc == 1) //default: current dirfsize(".");else while (--argc > 0)fsize(*++argv);return 0;
}

运行效果如下:

当前目录下

任意指定目录

linux c 获取目录文件列表相关推荐

  1. linux去掉java路径_Java显示目录文件列表和删除目录

    Java显示目录文件列表和删除目录 以d:\a目录为例,假设D:\a目录内的结构如下: d:\a |--a.sql |--back.log |--b | |--e | | |--1.txt | | | ...

  2. 部署阿里云盘的目录文件列表程序教程

    现在拥有阿里云盘账号的伙伴应该很多了,大部分都有1T的存储容量,小部分有6T,重要的是上传下载的速度很快,相对于其他的网盘,要么是传输速度慢,要么是存储容量太低,所以阿里云盘算是目前最好的免费网盘了, ...

  3. 阿里云盘的目录文件列表程序Alist

    网盘列表软件很多,老苏之前分享过 Z-file 和 ShareList,这两款软件都支持多家第三方存储,可以直接将网盘从个人使用变成一个面向大众的资源网站,不过老苏觉得还是自己低调用用就好了,毕竟是会 ...

  4. linux文件目录:Linux中各目录(文件夹)作用详解(持续更新)

    进入Linux系统,我们就是畅游在各种目录文件中,毕竟Linux是"文件系统",文件的存放就是在目录下面,那我们了解下"Linux中各目录(文件夹)作用详解"还 ...

  5. linux下获取某文件的总行数

    为什么80%的码农都做不了架构师?>>>    需求: linux下获取某文件的总行数 实现: 方案一: echo cat logfile.txt | wc -l 方案二: more ...

  6. 使用window的cmd命令输出目录文件列表清单

    使用window的cmd命令输出目录文件列表清单 使用window的cmd命令,输出文件夹文件列表. 注意,先进行cmd模式 dir >print.txt dir /b >print.tx ...

  7. Python 对os.listdir()获取的文件列表进行 Windows 的按名称方式排序,natsort 库的应用

    Python 对os.listdir()获取的文件列表进行 Windows 的按名称方式排序,natsort 库的应用 1.前言 日前,使用os.listdir()读取一个文件夹下的所有文件和子文件夹 ...

  8. linux名词解释目录文件,linux的常识及术语解释

    linux的常识及术语解释 本站整理   发布时间:2009-03-10 10:42:18   作者:jb51.net   我要评论 一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . ...

  9. linux下计算目录文件和,统计Linux 中文件和文件夹/目录的数量(示例代码)

    嗨,伙计们,今天我们再次带来一系列可以多方面帮助到你的复杂的命令. 通过操作命令,可以帮助您计数当前目录中的文件和目录.递归计数,统计特定用户创建的文件列表等. 在本教程中,我们将向您展示如何使用多个 ...

最新文章

  1. iOS开发 - 线程与进程的认识与理解
  2. 修改以服务方式启动tomcat7的堆内存设置
  3. Fibonacci(斐波纳契)数列各种优化解法
  4. nginx安装并支持upstream和tcp代理模块
  5. 普通用户程序使用保留端口 error while loading shared libraries
  6. mysql 5.7 配置多实例 — 独立配置文件方式
  7. 【嵌入式】C语言高级编程-长度为0的数组(05)
  8. OpenGL进阶演示样例1——动态画线(虚线、实线、颜色、速度等)
  9. [转] 文件内容查看 cat,less,more,tail,head,sed
  10. [SDOI2011]打地鼠
  11. 【springmvc+mybatis项目实战】杰信商贸-14.购销合同添加+修改+删除+查看
  12. python小波变换时频分析
  13. 合宙Air724UG二次开发(2):资料描述
  14. 微信大数据挑战赛 记录
  15. 旷视首席科学家孙剑:10年扎在书堆里,13年磨砺成首席
  16. Linux_多线程(进程与线程的联系_pthread库_线程创建_线程等待_线程正常终止_线程取消_线程分离_pthread_t与LWP)
  17. 浅谈人工智能与游戏思维
  18. 用python爬取斗图啦图片
  19. 中英词典+mysql_php+mysql实现英汉查询词典的功能
  20. 3DMAX 4角色蒙皮

热门文章

  1. Go 语言编程 — net/http — 支持 HTTPS
  2. Linux 操作系统原理 — 内存 — 基于局部性原理实现的内/外存交换技术
  3. Python 进阶_闭包 装饰器
  4. 优化春运服务 北京铁路局在车站设置哺乳室等设施
  5. CDQZ集训DAY8 日记
  6. 动静结合学内核:linux idle进程和init进程浅析
  7. 网页视频播放器插件源码
  8. Spring JdbcTemplate小结
  9. Css的filter常用滤波器属性及语句大全
  10. 前端开发模式--MV*