|
头文件:#include <sys/types.h> #include <dirent.h> 函数原型:struct dirent * readdir(DIR * dir); 函数功能:readdir()返回参数dir 目录流的下个目录进入点。结构dirent 定义如下: struct dirent { ino_t d_ino; //d_ino 此目录进入点的inode ff_t d_off; //d_off 目录文件开头至此目录进入点的位移 signed short int d_reclen; //d_reclen _name 的长度, 不包含NULL 字符 unsigned char d_type; //d_type d_name 所指的文件类型 har d_name[256]; //d_name 文件名 };
补充文件类型:p:1 c:2 d:4 b:6 f:8 l:10
返回值:成功则返回下个目录进入点. 有错误发生或读取到目录文件尾则返回NULL.
范例 #include <sys/types.h> #include <dirent.h> #include <unistd.h> main() { DIR * dir; struct dirent * ptr; int i; dir = opendir("/etc/rc.d"); while((ptr = readdir(dir)) != NULL) { printf("d_name : %s\n", ptr->d_name); } closedir(dir); } 执行: d_name : . d_name : .. d_name : 1.c d_name : 2.c d_name : app d_name : 3.c |