C++ 多个路径合并的函数
时间: 2023-12-19 14:05:58 浏览: 21
你可以使用 `std::filesystem` 库来实现多个路径的合并。下面是一个示例代码:
```cpp
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
std::string mergePaths(const std::vector<std::string>& paths) {
fs::path mergedPath;
for (const auto& path : paths) {
mergedPath /= path;
}
return mergedPath.string();
}
int main() {
std::vector<std::string> paths = { "path1", "path2", "path3" };
std::string mergedPath = mergePaths(paths);
std::cout << "Merged path: " << mergedPath << std::endl;
return 0;
}
```
在这个示例中,我们定义了一个 `mergePaths` 函数,它接受一个 `std::vector<std::string>` 类型的参数 `paths`,表示多个路径。函数使用 `std::filesystem::path` 类来合并这些路径,并将结果返回为一个字符串。
在主函数中,我们创建了一个包含多个路径的 `std::vector<std::string>` 对象,并将它传递给 `mergePaths` 函数。最后,我们输出合并后的路径。
请确保在编译时链接 `stdc++fs` 库,以便使用 `std::filesystem`。