c++实现os.walk
时间: 2024-01-02 12:03:19 浏览: 169
以下是C++实现类似Python中os.walk()函数的代码,可以遍历指定目录下的所有文件和子目录:
```cpp
#include <iostream>
#include <filesystem>
#include <vector>
namespace fs = std::filesystem;
void walk(const std::string& path, std::vector<std::string>& files) {
for (const auto& entry : fs::directory_iterator(path)) {
if (entry.is_directory()) {
walk(entry.path().string(), files);
} else {
files.push_back(entry.path().string());
}
}
}
int main() {
std::vector<std::string> files;
walk("/path/to/directory", files);
for (const auto& file : files) {
std::cout << file << std::endl;
}
return 0;
}
```
该代码使用了C++17中的std::filesystem库,遍历指定目录下的所有文件和子目录,并将文件路径存储在一个vector中。可以根据需要修改遍历的起始目录和输出方式。
阅读全文