C++ 遍历文件夹下所有文件并获取文件名
时间: 2023-12-19 15:03:52 浏览: 425
C++遍历文件夹下的所有文件
在 C++ 中,可以使用递归函数来遍历文件夹下所有文件并获取文件名。下面是一个示例代码:
```c++
#include <iostream>
#include <filesystem>
#include <string>
namespace fs = std::filesystem;
void TraverseFolder(const std::string& folderPath)
{
for (const auto& entry : fs::directory_iterator(folderPath))
{
if (entry.is_directory())
{
TraverseFolder(entry.path().string());
}
else
{
std::cout << entry.path().filename().string() << std::endl;
}
}
}
int main()
{
std::string folderPath = "path_to_folder";
TraverseFolder(folderPath);
return 0;
}
```
在上述代码中,使用 `std::filesystem` 库的 `directory_iterator` 类来遍历文件夹下的所有文件和文件夹。如果当前遍历到的是文件夹,则递归调用 `TraverseFolder` 函数来继续遍历该文件夹下的所有文件和文件夹;如果当前遍历到的是文件,则输出文件名。注意在使用 `fs::directory_iterator` 类时需要进行异常处理。
阅读全文