boost::filesystem::path
使用&
逃生路径字符串引号,see demo:为什么路径转义字符与boost :: filesystem :: path和std :: filesystem :: path不同?
std::cout << boost::filesystem::path("/R&D/Project \"boost\"") << std::endl;
打印"/R&&D/Project &"boost&""
。但是,对于std::filesystem::path
I see this:
在路径p上执行流输入或输出。使用std :: quoted,以便稍后通过流输入运算符读取空格时不会截断。
这里是std::quoted
:
逃生 - 作为转义字符使用的字符,默认为\
从这个我可以告诉大家,std::filesystem::path
将使用\
代替&
。
这是正确的吗?如果是,为什么委员会决定改变这种行为?
奖金问题:有没有std::filesystem::path
的实现可用?似乎没有最新的GCC和clang提供<filesystem>
标题。
大,感谢您的报价!至于实验,我在网上编译器尝试过,但没有成功:http://melpon.org/wandbox/permlink/nfZ88PnrttOGbEHu也许它只是在线编译器的一个问题。 – Mikhail
@Mikhail As Jonathan在[这个答案](http://stackoverflow.com/a/33159746/4115625)中提到过,你必须将它与'-lstdC++ fs'联系起来。参见[this](http:// melpon .org/wandbox/permlink/75pJtT4K3dAgGT1i) – Danh
很酷,非常感谢! – Mikhail