我使用C++来处理许多文件,我必须在源代码中编写文件名,如下所示:
"F:\\somepath\\subpath\\myfile"我想知道是否有办法摆脱键入"\\"以在字符串文字上下文中获取字符'\' ,也就是说,我希望我可以写出"F:\somepath\subpath\myfile"无聊的一个.
utn*_*tim 14
解决方案:
使用C++ 11字符串文字: R"(F:\somepath\subpath\myfile)"
使用带有正斜杠的boost :: path:它们将验证您的路径并引发问题的异常.
boost::filesystem::path p = "f:/somepath/subpath";
p /= "myfile";
Run Code Online (Sandbox Code Playgroud)只需使用正斜杠; Windows应该了解它们.
如果你有 C++11,你可以使用原始字符串文字:
std::string s = R"F:\somepath\subpath\myfile";
Run Code Online (Sandbox Code Playgroud)
另一方面,您可以只对文件系统路径使用正斜杠:
std::string s = "F:/somepath/subpath/myfile";
Run Code Online (Sandbox Code Playgroud)
两个明显的选择:
C++11 具有原始字符串文字。他们里面的东西不需要逃脱。
R"(F:\somepath\subpath\myfile)"
Run Code Online (Sandbox Code Playgroud)