91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c語言遍歷目錄的方法是什么

小億
108
2023-11-04 23:43:18
欄目: 編程語言

在C語言中,可以使用opendirreaddirclosedir等函數來遍歷目錄。下面是一個簡單的示例代碼,可以遍歷指定目錄下的所有文件和子目錄:

#include <stdio.h>
#include <dirent.h>
#include <sys/types.h>

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

    // 打開目錄
    dir = opendir("目錄路徑");
    if (dir == NULL) {
        printf("無法打開目錄\n");
        return 1;
    }

    // 逐個讀取目錄項
    while ((ent = readdir(dir)) != NULL) {
        // 忽略當前目錄(.)和上級目錄(..)
        if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) {
            continue;
        }

        // 輸出目錄項名稱
        printf("%s\n", ent->d_name);

        // 判斷目錄項類型
        if (ent->d_type == DT_DIR) {
            // 如果是子目錄,則可以遞歸遍歷子目錄
            // 例如:遞歸遍歷子目錄 dir/subdir
            char subdir[256];
            snprintf(subdir, sizeof(subdir), "%s/%s", "目錄路徑", ent->d_name);
            printf("子目錄:%s\n", subdir);
        }
    }

    // 關閉目錄
    closedir(dir);

    return 0;
}

注意:

  1. 需要包含頭文件<dirent.h><sys/types.h>,以及使用-ldir選項鏈接庫libdir
  2. readdir函數會返回目錄中的每個目錄項,包括普通文件、子目錄、特殊目錄(“.“和”…”),可以通過d_type成員判斷目錄項類型。
  3. 可以使用snprintf函數構建子目錄的路徑,實現遞歸遍歷子目錄。
  4. 需要替換代碼中的"目錄路徑"為實際的目錄路徑。

0
老河口市| 商水县| 九台市| 齐齐哈尔市| 山东| 綦江县| 赤水市| 黑龙江省| 宝坻区| 衡山县| 庆云县| 南澳县| 三穗县| 和田市| 广饶县| 四会市| 福海县| 山东| 东乌珠穆沁旗| 永平县| 巫山县| 东兰县| 白沙| 白水县| 休宁县| 赫章县| 平遥县| 靖宇县| 曲沃县| 赤城县| 建昌县| 沙湾县| 长武县| 天门市| 荔浦县| 博白县| 馆陶县| 万盛区| 大同县| 廉江市| 阿拉善盟|