Linux操作系统中读取目录文件信息的过程分析
2011-11-05 01:52
561 查看
大致流程:
1.添加头文件 dirent.h
声明结构体指针 struct dirent * ptr;
声明一个dir指针 DIR * fd;
2.分析命令行
3.打开目录文件
使用opendir()参数为解析命令行的第二个参数 argv[1] ,返回目录文件指针值赋给 fd
4.输出重定向
使用freopen()参数为解析命令行第三个参数 argv[2]、权限"w+"、文件描述符stdtout
5.开始读取目录文件内容
使用循环 while((ptr=readdir(fd))!=NULL) ,readdir()每次从目录文件中提取一个文件项目,指针前移。直至到文件末尾返回NULL值。ptr指针指向readdir()返回的dirent 结构体,每次函数调用返回的结果不同 dirent中的成员内容不同,其中d_name成员的值为每次读取到的目录中的文件名称。使用周周给的原来mstat.c中的获得文件信息代码将 ptr->d_name做fopen()、fstat()的参数,即可打印出目录中所有文件的信息并存入输出文件中。
6.关闭所有文件及目录文件指针。
1.添加头文件 dirent.h
声明结构体指针 struct dirent * ptr;
声明一个dir指针 DIR * fd;
2.分析命令行
3.打开目录文件
使用opendir()参数为解析命令行的第二个参数 argv[1] ,返回目录文件指针值赋给 fd
4.输出重定向
使用freopen()参数为解析命令行第三个参数 argv[2]、权限"w+"、文件描述符stdtout
5.开始读取目录文件内容
使用循环 while((ptr=readdir(fd))!=NULL) ,readdir()每次从目录文件中提取一个文件项目,指针前移。直至到文件末尾返回NULL值。ptr指针指向readdir()返回的dirent 结构体,每次函数调用返回的结果不同 dirent中的成员内容不同,其中d_name成员的值为每次读取到的目录中的文件名称。使用周周给的原来mstat.c中的获得文件信息代码将 ptr->d_name做fopen()、fstat()的参数,即可打印出目录中所有文件的信息并存入输出文件中。
6.关闭所有文件及目录文件指针。
相关文章推荐
- Linux操作系统中根目录下存放文件的存放信息以及部分基础命令
- gcc编译过程、C语言编译过程分析、环境变量设置、linux文件夹结构和用途介绍、常用文件和目录的操作命令、文件类型
- 使用linux c 目录操作函数,读取任一目录下的所有目录信息文件信息
- linux文件的读取过程分析
- kettle读取文件目录下的数据结构一致的所有数据文件信息和内容
- linux驱动调试之段错误分析-根据栈信息分析函数调用过程
- Linux下/proc目录下文件分析
- 信息管理代码分析<二>读取二进制文件数据
- Linux--根文件系统的挂载过程分析
- abap--全局类信息读取的过程分析
- c# 根据读取的配置信息删除某个目录及下所有文件
- nand烧写分析/内核在启动过程中式如何将这个文件映射成/目录及各子目录的?
- Linux--根文件系统的挂载过程分析
- Linux--根文件系统的挂载过程分析
- 【linux问题集1】启动linux系统过程中报无法找到文件或目录
- 在/sys目录下建立一个文件,并且实现信息的读取和存储
- Linux--根文件系统的挂载过程分析
- 简单解读linux的/proc下的statm、maps、memmap 内存信息文件分析
- Linux /proc目录下meminfo与cpuinfo文件分析
- Linux--根文件系统的挂载过程分析