DIR *opendir(constchar *name);
DIR *fdopendir(int fd);
intclosedir(DIR *dirp);
The opendir() and fdopendir() functions return a pointer to the directory stream
On error, NULL is returned, and errno is set appropriately
// 成功,返回一个指向目录流的指针;失败,返回NULL,并设备errno值
readdir
struct dirent *readdir(DIR *dirp);
intreaddir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
structdirent
{ino_t d_ino; // 此目录进入点的inodeoff_t d_off; // 目录文件开头至目录进入点的位移unsignedshort d_reclen; // d_name的长度,不包含NULL字符unsignedchar d_type; // 所指的文件类型char d_name[256]; // filename,文件名
};
// d_type的取值
DT_BLK // This is a block device.块设备
DT_CHR // This is a character device.字符设备
DT_DIR // This is a directory.目录
DT_FIFO // This is a named pipe (FIFO).管道
DT_LNK // This is a symbolic link.符号链接
DT_REG // This is a regular file.普通文件
DT_SOCK // This is a UNIX domain socket.套接字
DT_UNKNOWN // The file type is unknown.未知
The readdir() function returns a pointer to a dirent structure representing the next directory entry in the directory stream pointed to by dirp. It returns NULL on reaching the end of the directory stream or if an error occurred.
// 成功,返回一个指向由dirp指针所指的目录流中dirent结构体所指示下一个目录入口的指针// 到达目录尾部或发生错误,返回NULL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理