在Linux中,readdir函數用于讀取目錄中的文件和子目錄。默認情況下,readdir會返回目錄中的所有文件和子目錄,包括隱藏文件(以.開頭的文件)。如果你想要讀取目錄中的隱藏文件,可以使用readdir函數,它會自動返回這些隱藏文件。
以下是一個使用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");
exit(EXIT_FAILURE);
}
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
這個程序會列出當前目錄下的所有文件和子目錄,包括隱藏文件。如果你想要讀取其他目錄中的文件,只需將opendir(".")中的.替換為其他目錄的路徑即可。
注意:如果你想要對文件進行排序或其他操作,可以在將文件名添加到列表之前對其進行處理。