本文共 1404 字,大约阅读时间需要 4 分钟。
opendir和closedir目录
1、open和close函数用于打开关闭文件,这里介绍的opendir和closedir用于打开目录,相当于ls命令。
2、man 3 opendir
3、DIR *opendir(const char *name); –参数:目录的路径。 –返回值:成功返回指向目录流的指针,错误返回NULL 4、int closedir(DIR *dirp); –参数:opendir 返回的dir 指针 –返回值:成功返回0, 失败返回-1
readdir读取目录信息
1、使用opendir打开目录的基础上,可以使用readdir读取目录信息
2、man 3 readdir
struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* not an offset; see NOTES */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file; not supported by all filesystem types */ char d_name[256]; /* filename */};
3、读目录信息函数 • struct dirent *readdir(DIR *dirp); –参数dirp:opendir 函数打开目录后返回的文件指针。 –返回值:成功返回指向dirp 的指针dirent ,错误返回NULL。
例:
#include//opendir,closedir,readdir函数头文件#include #include int main(int argc,char *argv[]){ int ret; DIR *dir; struct dirent *catlog;//检测参数 if(argc <2){ printf("\nPlease input file path\n"); return 1; }//使用opendir函数打开目录 dir = opendir(argv[1]); if(dir==NULL){ printf("opendir %s failed!\n",argv[1]); return 1; } printf("opendir %s suceces!\n",argv[1]);//使用readdir读取目录argv[1] catlog = readdir(dir); if(catlog == NULL){ printf("readdir %s failed!\n",argv[1]); return 1; } printf("%s d_ino is %ld\n ",argv[1],catlog->d_ino);//使用closedir函数关闭目录 closedir(dir); return 0;}
转载地址:http://jynws.baihongyu.com/