C++ 多个路径合并的函数
时间: 2023-12-23 09:04:34 浏览: 30
你可以使用标准库中的 `std::filesystem` 来实现多个路径合并的函数。以下是一个示例:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
// 合并多个路径
fs::path mergePaths(const std::initializer_list<fs::path>& paths) {
fs::path result;
for (const auto& path : paths) {
result /= path;
}
return result;
}
int main() {
fs::path path1 = "path1";
fs::path path2 = "path2";
fs::path path3 = "path3";
fs::path mergedPath = mergePaths({path1, path2, path3});
std::cout << mergedPath << std::endl;
return 0;
}
```
上述代码中,`mergePaths` 函数接受一个 `std::initializer_list<fs::path>` 参数,该参数中包含多个需要合并的路径。函数内部使用循环遍历每个路径,并使用 `/=` 运算符来合并路径。最后,返回合并后的路径。
请注意,上述示例使用了 C++17 中引入的 `std::filesystem` 标准库,因此你需要确保你的编译器支持该标准库。如果你使用的是较旧的编译器,可能需要使用其他库或手动实现路径合并的功能。