opendir() 函数用于打开一个目录流,但它默认不会显示隐藏文件(以点开头的文件)。要使用 opendir() 读取隐藏文件,你需要遍历目录中的所有文件,并检查文件名是否以点开头。以下是一个使用 opendir() 和 readdir() 函数读取隐藏文件的示例:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <dirent.h> int main() { DIR *dir; struct dirent *entry; dir = opendir("."); // 打开当前目录 if (dir == NULL) { perror("opendir"); return EXIT_FAILURE; } while ((entry = readdir(dir)) != NULL) { if (entry->d_name[0] == '.') { // 检查文件名是否以点开头 printf("%s\n", entry->d_name); } } closedir(dir); return EXIT_SUCCESS; } 这个示例将打开当前目录(.),然后使用 readdir() 函数遍历目录中的所有文件。如果文件名以点开头,它将被视为隐藏文件,并打印出来。最后,使用 closedir() 函数关闭目录流。