Linux C高级编程——目录操作

2019-07-12 22:09发布

Linux C目录操作
宗旨:技术的学习是有限的,分享的精神是无限的。

       Linux思想“一切皆文件”,目录也是文件,只是存储的内容有别于普通文件。目录文件中存储的该目录下所有的文件及子目录文件的信息,inode节点。 一、打开/关闭目录文件 1、 opendir
——打开目录
(1)函数原型 #include DIR *opendir(const char *dirname); (2)函数参数         dirname:要打开的目录路径 (3)返回值         执行成功返回一个目录流指针(与文件流类似,直接用就行),失败返回NULL。
2、 closedir
——关闭指定的目录流
(1)函数原型 #include int *closedir(DIR *stream); (2)函数参数        stream:目录流指针(类似于文件流指针fp一样) (3)返回值         执行成功返回0,执行失败返回-1。 这两函数操作的对象DIR对用户层是透明,不必关心其实现细节。 【typedef struct dirstream DIR】   二、/写目录内容 1、 readdir
——读取目录内容(目录下存储的是该目录下的文件名和对应的磁盘inode信息位置,读取目录内容就是读取该目录下的文件名及文件信息。)
(1) 函数原型 struct dirent *readdir(DIR *stream) struct dirent { long d_ino; // inode值 off_t d_off; //从目录开始到当前目录条的距离 unsigned shortd_reclen; // 存储文件名的空间大小 unsigned char d_type; // 文件类型 char d_name[256]; // 文件名,’