如果我使用像
absolute()
这样的函数,我总是会得到包含引号的路径。
文件系统功能中是否有一种方法可以删除此引号,使其能够与例如使用std::ifstream?
fs::path p2 { "./test/hallo.txt" };
std::cout << "absolte to file : " << fs::absolute(p2) << std::endl;
返回:
"/home/bla/blub/./test/hallo.txt"
我需要
/home/bla/blub/./test/hallo.txt
相反。
手动做是没问题的,但是我想问一下filesystem lib里面有没有方法
std::operator << (std::filesystem::path const& p)
指定如下:
在路径
上进行流输入或输出。使用p
以便稍后由流输入运算符读取时空格不会导致截断。std::quoted
path::string()
:
以本机路径名格式返回内部路径名,并转换为特定字符串类型。
std::cout << "absolute to file : " << absolute(p2).string() << std::endl;
// ^^^^^^^^^
我还删除了
fs::
,因为 absolute
可以通过 ADL 找到。