使用 readdir 函數讀取目錄并處理隱藏文件
readdir 函數是 C 語言中用于讀取目錄內容的函數。要處理目錄中的隱藏文件,需要在遍歷目錄時檢查文件名是否以點 (.) 開頭。
以下是一個 C 語言示例,演示如何使用 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) { // 檢查文件名是否以點 (`.`) 開頭,排除 "." 和 ".." if (entry->d_name[0] == '.' && strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) { // 這是一個隱藏文件,可以根據需要進行處理 printf("Hidden file: %s ", entry->d_name); } else { // 這是一個普通文件,可以根據需要進行處理 printf("Regular file: %s ", entry->d_name); } } closedir(dir); return EXIT_SUCCESS; }
此代碼打開當前目錄 (.),然后使用 readdir 函數讀取目錄中的每個條目。如果條目的文件名以點 (.) 開頭,且不是 “.” 或 “..” (當前目錄和父目錄),則它被視為隱藏文件,并打印出來。 否則,它被視為普通文件,同樣打印出來。你可以根據需要修改代碼來處理隱藏文件和普通文件。