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 函數繼續遍歷子目錄。