在没有转义字符的C ++中定义std :: string

时间:2012-05-08 15:23:02

标签: c++ string escaping

将未转义字符序列输入std::string的最简单方法是什么?

而不是

 std::string st = "C:\\program files\\myFile.txt";

类似于:(由于转义字符而无法正常工作)。

 std::string st = "C:\program files\myFile.txt";

3 个答案:

答案 0 :(得分:62)

您可以使用C ++ 11 raw string literals执行此操作:

std::string st = R"(C:\program files\myFile.txt)";

答案 1 :(得分:23)

对于文件名,只需使用(转发?返回?)另一个方向斜杠。它也适用于Windows:

std::string st = "C:/program files/myFile.txt";

答案 2 :(得分:0)

C& C& C ++仅支持使用\来转义字符串,您必须使用它。如果您有一堆可以使用的路径,我建议您在编辑器中打开它们并使用\\进行批量替换。