目录检索
目录的操作和文件稍有区别,它的操作接口是
opendir()
readdir()
closedir()
目录操作中,使用目录流(指针)代表一个打开的目录
参数:
name:要打开目录的路径
返回值:
成功返回目录流指针,失败返回NULL
参数就是opendir的返回值(目录流指针)
读取目录函数
读取目录的一个子项,效果类似于ls 目录
每次调用读出一项,不会重复,读到最后返回NULL
struct dirent {
ino_t d_ino; /* 子项的inode值*/
off_t d_off; /* 离下一项的偏移*/
unsigned short d_reclen; /* 本段记录长度 /
unsigned char d_type; / 子项文件类型 /
char d_name[256]; / 子项的文件名 */
};
类型如下:
参数:
dirp:目录流指针
返回值:
返回一个子项的dirent指针,读到最后/出错 返回NULL
递归打印目录内容(遍历到所有子目录中的文件)