溫馨提示×

CentOS readdir如何實現過濾功能

小樊
46
2025-03-27 20:25:41
欄目: 智能運維

在 CentOS 系統中,readdir 函數是用于讀取目錄內容的。要實現過濾功能,你可以在調用 readdir 之后,根據需要對讀取到的目錄項進行篩選。以下是一個簡單的示例,展示了如何使用 readdir 函數讀取目錄內容并根據文件名進行過濾:

#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” 結尾。如果滿足條件,我們就打印出文件名。最后,使用 closedir 函數關閉目錄。

你可以根據需要修改過濾條件,以實現不同的過濾功能。例如,你可以檢查文件類型、文件大小、修改時間等,以便僅顯示符合特定條件的文件。

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