在 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
文件之外的所有文件。