c++11获取文件夹下路径
时间: 2024-11-09 10:25:24 浏览: 15
linux C++ 获取文件绝对路径的实例代码
在 C++11 中,获取文件夹下的所有路径通常需要依赖于标准库中的 `<filesystem>` 模块,该模块在 C++17 版本之后才完全启用。如果你的项目支持 C++17 或以上版本,你可以这样做:
```cpp
#include <filesystem>
namespace fs = std::filesystem;
std::vector<std::string> get_directory_paths(const std::string& directory_path) {
std::vector<std::string> paths;
for (const auto& entry : fs::directory_iterator(directory_path)) {
if (!entry.is_directory()) continue; // 只处理目录,忽略文件
paths.push_back(entry.path().string());
}
return paths;
}
// 使用示例:
std::string folder_path = "C:/example_folder";
std::vector<std::string> subfolders = get_directory_paths(folder_path);
```
这个函数会遍历指定的 `directory_path` 下的所有子目录,并返回它们的完整路径。请注意,这需要编译器支持 C++17 或更高版本。
如果使用的是 C++11 到 C++16 的兼容模式,那么可以考虑使用第三方库如 boost.filesystem,但那样就超出了 C++11 标准的范畴了。
阅读全文