readdir
函数本身可以读取目录中的所有文件和文件夹,包括隐藏文件
#include <dirent.h>
#include <stdio.h>
int main() {
DIR *dir;
struct dirent *entry;
dir = opendir("."); // 打开当前目录
if (dir == NULL) {
perror("Failed to open directory");
return 1;
}
while ((entry = readdir(dir)) != NULL) {
// 检查是否为隐藏文件,以点(.)开头的文件名被认为是隐藏文件
if (entry->d_name[0] == '.') {
printf("Hidden file: %s\n", entry->d_name);
} else {
printf("File: %s\n", entry->d_name);
}
}
closedir(dir);
return 0;
}
这个示例代码会列出当前目录中的所有文件和文件夹,包括隐藏文件。通过检查 entry->d_name[0]
是否等于点(.),我们可以确定一个文件是否是隐藏的。