我使用C ++处理许多文件,我必须在源代码中编写文件名,如下所示:
"F:\\somepath\\subpath\\myfile"
,
我想知道如果有任何方法可以摆脱键入“\\”来在字符串文字上下文中获得字符'\',即,我希望我可以写"F:\somepath\subpath\myfile"
而不是无聊的。{/ p>
答案 0 :(得分:14)
解决方案:
使用C ++ 11字符串文字:R"(F:\somepath\subpath\myfile)"
使用带有正斜杠的boost :: path: 他们将验证您的路径并提出问题的例外情况。
boost::filesystem::path p = "f:/somepath/subpath";
p /= "myfile";
只需使用正斜杠; Windows应该理解它们。
答案 1 :(得分:4)
如果你有C ++ 11,你可以使用原始字符串文字:
std::string s = R"F:\somepath\subpath\myfile";
另一方面,您可以使用正斜杠作为文件系统路径:
std::string s = "F:/somepath/subpath/myfile";
答案 2 :(得分:4)
两个明显的选择:
C ++ 11具有原始字符串文字。他们内心的东西不需要逃脱。
R"(F:\somepath\subpath\myfile)"