一. 打开目录
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int fd); 使用文件描述符,要配合open函数使用
DIR是用来描述一个打开的目录文件的结构体类型
成功时返回目录流指针;出错时返回NULL
DIR 目录流指针
二. 读取目录
#include <dirent.h>
struct dirent *readdir(DIR *dirp);
struct dirent是用来描述目录流中一个目录项的结构体类型
包含成员char d_name[256] 参考帮助文档
成功时返回目录流dirp中下一个目录项;
出错或到末尾时时返回NULL
三. 关闭目录
closedir函数用来关闭一个目录文件:
#include <dirent.h>
int closedir(DIR *dirp);
成功时返回0;出错时返回EOF
四. 代码练习
#include<stdio.h>
int main(inty argc, char *argv[])
{
DIR *dp; //定义一个目录流指针
struct dirent *dt; //定义一个存放目录下内容的结构体
if((dp = opendir("path name")) == NULL)
perror("opendir");
while((dt = readdir(dp)) != NULL) {
printf("%s\n", dt->d_name); //打印出目录下的文件的名字
}
closedir(fp);
return 0;
}