溫馨提示×

c++遍歷文件支持遞歸操作嗎

c++
小樊
130
2024-12-06 04:23:54
欄目: 編程語言

C++ 本身不直接支持遞歸遍歷文件夾,但你可以使用標準庫中的 filesystem 庫(C++17 起可用)來實現遞歸遍歷文件夾。以下是一個簡單的示例:

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

void traverse_directory(const fs::path& path) {
    for (const auto& entry : fs::recursive_directory_iterator(path)) {
        if (fs::is_regular_file(entry)) {
            std::cout << "File: " << entry.path() << std::endl;
        } else if (fs::is_directory(entry)) {
            std::cout << "Directory: " << entry.path() << std::endl;
            traverse_directory(entry.path()); // 遞歸遍歷子目錄
        }
    }
}

int main() {
    fs::path root_path = "path/to/your/directory";
    traverse_directory(root_path);
    return 0;
}

這個示例中,traverse_directory 函數接受一個 fs::path 參數,然后使用 fs::recursive_directory_iterator 遍歷指定路徑下的所有文件和子目錄。如果遇到文件,就輸出文件路徑;如果遇到子目錄,就遞歸調用 traverse_directory 函數繼續遍歷子目錄。

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