c++ 遍历文件夹下所有文件
时间: 2024-10-22 19:24:06 浏览: 34
在C++中,遍历文件夹下的所有文件通常需要使用一些库函数,比如`std::filesystem`库,该库在C++17及以上版本提供了一种方便的方式来操作文件和目录。以下是一个简单的示例,展示了如何遍历指定目录下的所有文件:
```cpp
#include <iostream>
#include <filesystem>
void list_files_in_directory(const std::string& directory) {
for (const auto& entry : std::filesystem::directory_iterator(directory)) {
if (entry.is_regular_file()) { // 检查是否为普通文件
std::cout << "File: " << entry.path() << std::endl;
} else if (entry.is_directory()) { // 检查是否为子目录
std::cout << "Directory: " << entry.path() << std::endl;
// 如果需要递归遍历子目录,可以在这里再次调用list_files_in_directory(entry.path());
}
}
}
int main() {
try {
list_files_in_directory("path_to_your_directory");
} catch (const std::filesystem::filesystem_error& e) {
std::cerr << "Error: " << e.what() << '\n';
}
return 0;
}
```
在这个例子中,我们首先获取指定路径下的所有迭代器,然后检查每个迭代器代表的是文件还是目录。如果是文件,则打印文件名;如果是目录,可以选择递归地继续遍历。
阅读全文