当前目录下

任意指定目录

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <sys/types.h>
 4 #include <sys/stat.h>
 5 #include <unistd.h>
 6 #include <dirent.h>
 7 #include <string.h>
 8
 9 #define MAX_PATH 1024
10
11 //dirwalk: apply fcn to all files in dir
12 /*递归遍历目录*/
13 void dirwalk(char *dir, void (*fcn)(char *))
14 {
15     char name[MAX_PATH];
16     struct dirent *dp;
17     DIR *dfd;
18
19     if ((dfd = opendir(dir)) == NULL) {
20         fprintf(stderr, "dirwalk:can not open %s\n", dir);
21         return;
22     }
23     while ((dp = readdir(dfd)) != NULL) {
24         if ((strcmp(dp->d_name, ".") == 0) || (strcmp(dp->d_name, "..") == 0))
25             continue; //skip self and parent
26         if (strlen(dir)+strlen(dp->d_name)+2 > sizeof(name)) {
27             fprintf(stderr, "dirwalk: name %s %s too long\n", dir, dp->d_name);
28         } else {
29             sprintf(name, "%s/%s", dir, dp->d_name);
30             (*fcn)(name);
31         }
32     }
33     closedir(dfd);
34 }
35
36 //fsize: print the size and name of the file "name"
37 void fsize(char *name)
38 {
39     struct stat st_buf;
40     if (stat(name, &st_buf) != 0) { //通过文件名name获取文件信息,并保存在st_buf所指的结构体stat中
41         fprintf(stderr, "fsize:can not access to %s\n", name); //返回值:执行成功则返回0,失败返回-1,错误代码存于errno
42         return;
43     }
44     if ((st_buf.st_mode & S_IFMT) == S_IFDIR) {
45         dirwalk(name, fsize);
46     }
47     printf("%8ld %s\n", st_buf.st_size, name);
48 }
49
50 int main(int argc, char *argv[])
51 {
52     if (argc == 1) //default: current dir
53         fsize(".");
54     else
55         while (--argc > 0)
56             fsize(*++argv);
57     return 0;
58 }

转载于:https://www.cnblogs.com/torres-9/p/5948635.html

linux C 列出目录中的文件列表 包含文件的相关信息相关推荐

  1. linux相对路径列出目录文件,linux – UNIX:列出目录中具有相对路径的文件

    问题是: 您将使用什么命令列出您的文本文件 fileAsst目录(使用相对路径)? 上一个问题是: 命令列出这些文本文件的名称,使用fileAsst目录的绝对路径作为命令的一部分. 答案是: ~/Un ...

  2. php删除树结构文件,树型结构列出目录中所有文件的php代码

    以树型结构列出指定目录里的所有文件,这样的话,目录下的所有文件便结构清晰的呈现在你的面前,有什么文件你一看便知,很方便的哦. 示例, php; auto-links:false;"> ...

  3. Python 列出目录中的文件

    在本文中,我们将了解如何在 Python 中列出目录中的所有文件.有多种方法可以列出目录的文件.在本文中,我们将使用以下 四种方法. os.listdir('dir_path'):返回指定目录路径中存 ...

  4. linux 文件大小_整理 | Linux下列出目录内容命令

    IT服务圈儿 有温度.有态度的IT自媒体平台 来源:良许Linux(ID:liangxuxiansheng) 在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务.当我们想要像使用文件浏 ...

  5. linux c 读取目录及其子目录下所有.jpg文件的文件名(无后缀)

    此程序用来生成<yolo v2中VOC数据生成labels所需的图片文件名文档>train.txt linux c 读取目录及其子目录下所有.jpg文件的文件名:   http://www ...

  6. windows获取文件列表及文件夹结构

    1. 获取文件列表 命令: dir /B >lb.txt 查看磁盘D下的文件列表: 在D盘根目录下会生成文本文件lb.txt 2. 获取文件夹结构 命令: tree /f >1.txt 查 ...

  7. AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)

    AssemblyInfo.cs文件:包含程序版本.信息.版权的属性文件 先介绍AssemblyInfo.cs文件中的程序集属性 内容: using System.Reflection; using S ...

  8. FileSystemObject模型-如何列出目录中的文件(VB6)

    这是一个简单的VB6代码段,使用 FileSystemObject模型可查找C:\ Temp中的所有文件并将其名称加载到列表框中. 要使用此示例,您需要进行如下设置: 在VB6中创建一个新项目 添加表 ...

  9. java获取目录中最后被更改的文件_如何使用Java从目录中只获取10个最后修改过的文件?...

    我是初学者,我发现了一个关于 java中lastmodified文件的旧线程. 我想要的是从目录中只获取10个最近的文件并将它们移动到另一个目录. 在此论坛中找到的此代码运行良好,但它从目录中获取所有 ...

最新文章

  1. vue-cli——vue-resource登录注册实例
  2. 在系统中使用read函数读取文件内容
  3. 对人工智能的灵魂一问,它这样回答
  4. python入门教程 pdf-Python快速入门PDF高清完整版本下载
  5. Ubuntu批量修改文件名后缀
  6. java 队列已满_java – ThreadPoolExecutor当队列已满时阻塞?
  7. FileReader上传图片
  8. flag的具体用法python_Python Qt.WindowFlags方法代码示例
  9. Python安装与第三方工具——pycharm安装
  10. python实现嵌套功能_我应该如何在Python中实现“嵌套”子命令?
  11. 深度学习:循环神经网络RNN
  12. 图论及其应用 2009年 期末考试答案 总结
  13. PS油画特效插件AKVIS Artwork for mac
  14. 华为手机无法安装ADB和HDB的处理
  15. 《信息系统安全》第二章 信息安全模型 作业
  16. python跨年表白神器--你值得拥有!
  17. 为什么叫析取?为什么叫合取?
  18. MockLab:基于MockLab的第三方平台对接测试
  19. 第2讲 C语言 赋值语句
  20. 计算机专业申请,美国TOP20计算机专业大学申请建议

热门文章

  1. Scala数组的mkString()方法
  2. Scala变量的声明和赋值
  3. Java多态的成员特点及优缺点详解
  4. 如何使用java程序操作ActiveMQ
  5. 外部中断0——51程序
  6. python中cd是什么意思_python的cd的
  7. 线段树递归和非递归实现+hdu1166 敌兵布阵
  8. php将文件夹打包zip文件,php将文件夹打包成zip文件
  9. Oracle 原理:UNDO表空间
  10. C/Cpp / const 用法