C++遍历文件夹所有文件包括子文件夹
时间: 2023-07-29 07:10:07 浏览: 224
您可以使用递归的方式遍历文件夹中的所有文件,包括子文件夹。以下是一个示例代码:
```cpp
#include <iostream>
#include <filesystem>
void TraverseDirectory(const std::filesystem::path& directory)
{
for (const auto& entry : std::filesystem::directory_iterator(directory))
{
if (entry.is_directory())
{
TraverseDirectory(entry.path()); // 递归遍历子文件夹
}
else
{
std::cout << entry.path() << std::endl; // 输出文件路径
}
}
}
int main()
{
std::filesystem::path directory = "your_directory_path";
TraverseDirectory(directory);
return 0;
}
```
在上面的代码中,`TraverseDirectory` 函数用于遍历文件夹。它首先检查当前路径是否是一个文件夹,如果是,则调用自身来递归遍历子文件夹;如果不是,则输出文件路径。在 `main` 函数中,您需要将 `your_directory_path` 替换为您想要遍历的文件夹的路径。
阅读全文