我有这段代码
auto path = std::filesystem::path("/root/home/../opt/.");
我曾尝试过 std::filesystem::absolute()
,但后来意识到这不是我想要的结果
我的问题是如何将该相对路径转换为绝对路径,以便结果为"/root/opt/"
.
我在 Debian g++-9 上使用 c++17
我有这段代码
auto path = std::filesystem::path("/root/home/../opt/.");
我曾尝试过 std::filesystem::absolute()
,但后来意识到这不是我想要的结果
我的问题是如何将该相对路径转换为绝对路径,以便结果为"/root/opt/"
.
我在 Debian g++-9 上使用 c++17
用于std::filesystem::canonical
将路径转换为完全..
删除的绝对路径(参考):
auto path = std::filesystem::canonical("/root/home/../opt/.");
给你:
"/root/opt"
您也可以使用 from 此功能。
std::cout << std::filesystem::path("/root/home/../opt/.").lexically_normal() << std::endl;