opendir() 函数用于打开一个目录流,以便于使用 readdir() 函数读取目录中的文件。默认情况下,opendir() 会返回目录中的所有文件和子目录,包括隐藏文件(以点开头的文件)。如果你想要读取隐藏文件,你可以直接使用 opendir() 和 readdir() 函数,无需进行特殊设置。
以下是一个使用 opendir() 和 readdir() 读取目录中的所有文件(包括隐藏文件)的示例:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
dir = opendir("."); // 打开当前目录
if (dir == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return EXIT_SUCCESS;
}
这个示例程序会打开当前目录(.),然后使用 readdir() 函数读取目录中的所有文件和子目录,并将它们的名称打印到屏幕上。这包括隐藏文件,如 .bashrc 和 .gitignore。
如果你想要读取其他目录中的文件,只需将 opendir() 函数的参数更改为相应的目录路径即可。例如,要读取名为 my_directory 的目录中的文件,可以使用 opendir("my_directory")。