C++17 如何遍历文件夹内的所有文件
时间: 2025-01-05 22:37:32 浏览: 7
在C++17中,你可以使用`std::filesystem`库来遍历文件夹内的所有文件。这个库提供了一种更现代的方式来处理文件和目录操作。下面是一个简单的示例,展示了如何使用`std::filesystem::directory_iterator`来遍历目录:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
void iterateDirectory(const std::string& directoryPath) {
for (const auto& entry : fs::directory_iterator(directoryPath)) {
if (!entry.dirent().d_type() == fs::directory_file) { // 只遍历文件,跳过目录
std::cout << "File name: " << entry.path().filename() << "\n";
}
}
}
int main() {
if (fs::is_directory("/path/to/your/directory")) {
iterateDirectory("/path/to/your/directory");
} else {
std::cerr << "The provided path is not a directory.\n";
}
return 0;
}
```
在这个例子中,`iterateDirectory`函数接受一个路径作为参数,然后迭代该路径下的每个条目。如果条目是文件(而不是目录),它会打印出文件名。
阅读全文