在Linux下,需要实现某个目录下文件的遍历的时候,可以使用opendir,readdir,closedir这些接口。这些接口使用说明如下所示:
1).opendir
DIR* opendir(const char * name);
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
传入name路径,成功则返回非空DIR指针,否则返回NULL; 注意DIR前面没有struct,如果加上编译器会warning。
2).readdir
struct dirent *readdir(struct DIR* dir);
readdir一般要配合opendir使用,readdir不是线程安全函数,代替他的有readdir_r。
readdir返回 struct dirent *指针,读完目录下所有文件时,返回NULL。
3).closedir
void closedir(DIR* dir); 关闭打开的目录描述符dir,同时释放dir空间。Closedir需要配合opendir使用。
下面简单记录下这些接口的使用例子,主要涉及文件遍历,文件查找,文件模糊查找,文件删除,关键字查找并删除等功能。
1.首先在Linux系统下,在这里创建一个命名为"proj"测试的工程。
2.创建一个名为“dirtest.c”的源文件,粘贴如下所示的内容:
#include<stdio.h>
#i