glib中没有提供readdir系统调用,而是封装了readdir系统调用。
系统调用
//使用系统调用读出的数据是以下的结构
struct old_linux_dirent {
long d_ino;/* inode number */
off_t d_off;/* offset to this old_linux_dirent */
unsigned short d_reclen;/* length of this d_name */
char d_name[NAME_MAX+1]; /* filename (null-terminated) */
}
//关于参数 --- fd 文件分配符 dirp 目录数据 count参数没有用处,可为任意值。
//关于返回值 --- 返回 -1 表示出错 0 表示没有目录数据 1 便是读取成功
int readdir(int fd, struct old_linux_dirent *dirp,unsigned int count);
封装函数
struct dirent *readdir(DIR *dirp);
linux下man 2 readdir有如下的描述
DESCRIPTION
This is not the function you are interested