readdir
函數用于讀取目錄中的文件和子目錄。默認情況下,readdir
不會返回以點(.
)開頭的隱藏文件。但是,您可以通過一些方法來讀取這些隱藏文件。
以下是一個使用 readdir
函數讀取隱藏文件的示例:
#include <stdio.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
dir = opendir("."); // 打開當前目錄
if (dir == NULL) {
perror("opendir");
return 1;
}
while ((entry = readdir(dir)) != NULL) {
if (entry->d_name[0] == '.') { // 檢查文件名是否以點(`.`)開頭
printf("%s\n", entry->d_name);
}
}
closedir(dir);
return 0;
}
在這個示例中,我們首先使用 opendir
函數打開當前目錄。然后,我們使用 readdir
函數遍歷目錄中的所有條目。對于每個條目,我們檢查其名稱是否以點(.
)開頭。如果是,我們打印出該條目的名稱。最后,我們使用 closedir
函數關閉目錄。
請注意,這個示例僅適用于類 Unix 系統(如 Linux 和 macOS)。在 Windows 上,您需要使用不同的函數(如 FindFirstFile
和 FindNextFile
)來讀取目錄中的文件。