C++实现一个函数避免路径拼接
时间: 2024-04-10 16:27:12 浏览: 70
您好!为了避免路径拼接,您可以使用`std::filesystem`库中的`path`类来实现。
下面是一个示例函数,该函数将接受两个路径参数,并返回它们的组合路径,而不需要手动拼接:
```cpp
#include <iostream>
#include <filesystem>
std::string combinePaths(const std::string& path1, const std::string& path2) {
std::filesystem::path p1(path1);
std::filesystem::path p2(path2);
return (p1 / p2).string();
}
int main() {
std::string path1 = "/usr/bin";
std::string path2 = "program.exe";
std::string combinedPath = combinePaths(path1, path2);
std::cout << "Combined Path: " << combinedPath << std::endl;
return 0;
}
```
在这个示例中,我们首先将输入的路径字符串转换为`std::filesystem::path`类型的对象。然后,我们使用`/`操作符来组合路径,并使用`string()`函数将结果转换回字符串。最后,我们在`main()`函数中演示了如何使用这个函数。
希望这可以帮助到您!如果您有任何其他问题,请随时问我。
阅读全文