在 CentOS 系統中,使用 readdir 函數讀取目錄內容時,可以通過編程的方式排除特定文件類型。以下是一個使用 C 語言編寫的示例,展示了如何在讀取目錄時排除特定文件類型(例如,排除所有 .txt 文件):
#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) {
// 檢查文件擴展名是否為 .txt
if (strstr(entry->d_name, ".txt") == NULL) {
printf("%s\n", entry->d_name);
}
}
closedir(dir);
return 0;
}
在這個示例中,我們使用 opendir 函數打開當前目錄,然后使用 readdir 函數逐個讀取目錄中的文件。通過 strstr 函數檢查文件名是否包含 .txt 字符串,如果不包含,則輸出文件名。
要排除其他類型的文件,只需將 strstr(entry->d_name, ".txt") == NULL 中的 ".txt" 替換為要排除的文件擴展名即可。
編譯并運行此程序,它將輸出當前目錄中除 .txt 文件之外的所有文件。