从 std::filesystem::path c++ 获取绝对路径
Get the absolute path from std::filesystem::path c++
我有这段代码
auto path = std::filesystem::path("/root/home/../opt/.");
我试过 std::filesystem::absolute()
但后来意识到它不是我想要的结果
我的问题是如何将该相对路径转换为绝对路径,以便结果为 "/root/opt/"
。
我在 Debian g++-9 上使用 c++17
使用std::filesystem::canonical
把路径变成绝对路径,去掉所有..
(reference):
auto path = std::filesystem::canonical("/root/home/../opt/.");
给你:
"/root/opt"
你也可以使用这个函数。
std::cout << std::filesystem::path("/root/home/../opt/.").lexically_normal() << std::endl;
我有这段代码
auto path = std::filesystem::path("/root/home/../opt/.");
我试过 std::filesystem::absolute()
但后来意识到它不是我想要的结果
我的问题是如何将该相对路径转换为绝对路径,以便结果为 "/root/opt/"
。
我在 Debian g++-9 上使用 c++17
使用std::filesystem::canonical
把路径变成绝对路径,去掉所有..
(reference):
auto path = std::filesystem::canonical("/root/home/../opt/.");
给你:
"/root/opt"
你也可以使用这个函数。
std::cout << std::filesystem::path("/root/home/../opt/.").lexically_normal() << std::endl;