0
点赞
收藏
分享

微信扫一扫

linux c 遍历目录及其子目录

慕犹清 2023-11-15 阅读 33

linux c 遍历目录及其子目录

1. opendir()

头文件

  #include<sys/types.h>


  #include<dirent.h>


函数原型

  DIR* opendir (const char * path ); (获取path子目录下的所由文件和目录的列表,如果path是个文件则返回值为NULL)


功能

  打开一个目录,在失败的时候返回一个空的指针。


        错误代码:

        1、EACCESS 权限不足。

        2、EMFILE 已达到进程可同时打开的文件数上限。

        3、ENFILE 已达到系统可同时打开的文件数上限。

        4、ENOTDIR 参数name 非真正的目录。

        5、ENOENT 参数name 指定的目录不存在, 或是参数name 为一空字符串。

        6、ENOMEM 核心内存不足。


返回值(DIR)


       DIR 结构体的原型为:struct_dirstream

2.readdir

头文件

#include<dirent.h>


函数原型

struct dirent* readdir(DIR* dir_handle); (个人理解循环读取dir_handle,目录和文件都读)


功能

读取opendir 返回值的那个列表


返回值

返回dirent结构体指针,dirent结构体成员如下,(文件和目录都行)

linux c 遍历目录及其子目录_头文件


举报

相关推荐

0 条评论