溫馨提示×

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

小樊
39
2025-04-12 11:58:56
欄目: 智能運維

在Linux中,你可以使用readdir函數來讀取目錄中的文件和子目錄

首先,確保你已經包含了必要的頭文件:

#include <dirent.h>
#include <stdio.h>
#include <string.h>

然后,你可以使用opendir、readdirclosedir函數來讀取目錄中的內容。為了過濾特定文件類型,你可以檢查每個條目的名稱是否以所需的擴展名結尾。例如,如果你只想列出所有的.txt文件,可以這樣做:

#include <dirent.h>
#include <stdio.h>
#include <string.h>

int main() {
    DIR *dir;
    struct dirent *entry;

    dir = opendir("."); // 打開當前目錄
    if (dir == NULL) {
        perror("opendir");
        return 1;
    }

    while ((entry = readdir(dir)) != NULL) {
        // 檢查文件名是否以 ".txt" 結尾
        if (strstr(entry->d_name, ".txt") != NULL) {
            printf("%s\n", entry->d_name);
        }
    }

    closedir(dir);
    return 0;
}

這個程序會打開當前目錄(.),然后使用readdir函數讀取其中的每個條目。對于每個條目,它使用strstr函數檢查文件名是否包含.txt字符串。如果是,則打印文件名。

你可以根據需要修改這個示例,以便過濾其他類型的文件。只需將.txt替換為你想要的擴展名即可。

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