copendir
是一個用于打開目錄的函數,它可以與 readdir
函數一起使用,以遍歷目錄中的所有條目。要實現 Linux 目錄篩選,您可以使用 copendir
打開目錄,然后使用 readdir
讀取目錄中的每個條目,并根據需要對其進行篩選。
以下是一個簡單的示例,展示了如何使用 copendir
和 readdir
實現目錄篩選:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <directory>\n", argv[0]);
return 1;
}
DIR *dir = opendir(argv[1]);
if (dir == NULL) {
perror("opendir");
return 1;
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
// 在這里添加您的篩選條件
if (strstr(entry->d_name, "txt") != NULL) {
printf("%s\n", entry->d_name);
}
}
closedir(dir);
return 0;
}
在這個示例中,我們首先檢查命令行參數的數量,確保提供了一個目錄路徑。然后,我們使用 opendir
打開目錄,并檢查是否成功。接下來,我們使用 readdir
遍歷目錄中的每個條目,并使用 strstr
函數檢查文件名是否包含 “txt”。如果滿足條件,我們打印文件名。
要編譯此程序,請將其保存為 list_txt_files.c
,然后運行以下命令:
gcc -o list_txt_files list_txt_files.c
現在,您可以使用以下命令運行程序,列出指定目錄中所有以 “.txt” 結尾的文件:
./list_txt_files /path/to/directory
請注意,這個示例僅用于演示目的,您可以根據需要修改篩選條件。