linux C 列出目录中的文件列表 包含文件的相关信息
当前目录下
任意指定目录 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 列出目录中的文件列表 包含文件的相关信息相关推荐
- linux相对路径列出目录文件,linux – UNIX:列出目录中具有相对路径的文件
问题是: 您将使用什么命令列出您的文本文件 fileAsst目录(使用相对路径)? 上一个问题是: 命令列出这些文本文件的名称,使用fileAsst目录的绝对路径作为命令的一部分. 答案是: ~/Un ...
- php删除树结构文件,树型结构列出目录中所有文件的php代码
以树型结构列出指定目录里的所有文件,这样的话,目录下的所有文件便结构清晰的呈现在你的面前,有什么文件你一看便知,很方便的哦. 示例, php; auto-links:false;"> ...
- Python 列出目录中的文件
在本文中,我们将了解如何在 Python 中列出目录中的所有文件.有多种方法可以列出目录的文件.在本文中,我们将使用以下 四种方法. os.listdir('dir_path'):返回指定目录路径中存 ...
- linux 文件大小_整理 | Linux下列出目录内容命令
IT服务圈儿 有温度.有态度的IT自媒体平台 来源:良许Linux(ID:liangxuxiansheng) 在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务.当我们想要像使用文件浏 ...
- linux c 读取目录及其子目录下所有.jpg文件的文件名(无后缀)
此程序用来生成<yolo v2中VOC数据生成labels所需的图片文件名文档>train.txt linux c 读取目录及其子目录下所有.jpg文件的文件名: http://www ...
- windows获取文件列表及文件夹结构
1. 获取文件列表 命令: dir /B >lb.txt 查看磁盘D下的文件列表: 在D盘根目录下会生成文本文件lb.txt 2. 获取文件夹结构 命令: tree /f >1.txt 查 ...
- AssemblyInfo.cs文件:包含程序版本、信息、版权的属性文件(转转转)
AssemblyInfo.cs文件:包含程序版本.信息.版权的属性文件 先介绍AssemblyInfo.cs文件中的程序集属性 内容: using System.Reflection; using S ...
- FileSystemObject模型-如何列出目录中的文件(VB6)
这是一个简单的VB6代码段,使用 FileSystemObject模型可查找C:\ Temp中的所有文件并将其名称加载到列表框中. 要使用此示例,您需要进行如下设置: 在VB6中创建一个新项目 添加表 ...
- java获取目录中最后被更改的文件_如何使用Java从目录中只获取10个最后修改过的文件?...
我是初学者,我发现了一个关于 java中lastmodified文件的旧线程. 我想要的是从目录中只获取10个最近的文件并将它们移动到另一个目录. 在此论坛中找到的此代码运行良好,但它从目录中获取所有 ...
最新文章
- vue-cli——vue-resource登录注册实例
- 在系统中使用read函数读取文件内容
- 对人工智能的灵魂一问,它这样回答
- python入门教程 pdf-Python快速入门PDF高清完整版本下载
- Ubuntu批量修改文件名后缀
- java 队列已满_java – ThreadPoolExecutor当队列已满时阻塞?
- FileReader上传图片
- flag的具体用法python_Python Qt.WindowFlags方法代码示例
- Python安装与第三方工具——pycharm安装
- python实现嵌套功能_我应该如何在Python中实现“嵌套”子命令?
- 深度学习:循环神经网络RNN
- 图论及其应用 2009年 期末考试答案 总结
- PS油画特效插件AKVIS Artwork for mac
- 华为手机无法安装ADB和HDB的处理
- 《信息系统安全》第二章 信息安全模型 作业
- python跨年表白神器--你值得拥有!
- 为什么叫析取?为什么叫合取?
- MockLab:基于MockLab的第三方平台对接测试
- 第2讲 C语言 赋值语句
- 计算机专业申请,美国TOP20计算机专业大学申请建议