溫馨提示×

ubuntu readdir如何過濾特定類型文件

小樊
99
2025-02-15 11:18:06
欄目: 智能運維

在Ubuntu中,你可以使用readdir函數來讀取目錄內容。為了過濾特定類型的文件,你可以在遍歷目錄時檢查每個文件的擴展名。以下是一個使用C語言編寫的示例,展示了如何使用readdir函數過濾特定類型的文件:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <sys/stat.h>

int main(int argc, char *argv[]) {
    if (argc != 3) {
        printf("Usage: %s <directory> <extension>\n", argv[0]);
        return 1;
    }

    const char *dir_path = argv[1];
    const char *ext = argv[2];

    DIR *dir = opendir(dir_path);
    if (dir == NULL) {
        perror("opendir");
        return 1;
    }

    struct dirent *entry;
    while ((entry = readdir(dir)) != NULL) {
        // 獲取文件名
        char *filename = entry->d_name;

        // 檢查文件擴展名
        if (strstr(filename, ext) != NULL) {
            printf("%s\n", filename);
        }
    }

    closedir(dir);
    return 0;
}

編譯并運行這個程序,傳入要讀取的目錄路徑和要過濾的文件擴展名。例如,如果你想列出目錄中所有的.txt文件,可以這樣運行:

gcc filter_files.c -o filter_files
./filter_files /path/to/directory .txt

這個程序會輸出指定目錄中所有擴展名為.txt的文件。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女