创建包含转义引号的字符串

时间:2014-07-29 00:42:32

标签: c++ string escaping

我需要创建一个字符串,如果输入"\"",它将精确输出std::cout到终端 我无法绕过如何做到这一点(c ++)

3 个答案:

答案 0 :(得分:9)

只需在每个需要转义的字符(在您的情况下,所有四个字符)中加上反斜杠。例如,这对我有用:

std::cout << "Testing: \"\\\"\"" << std::endl;
  

输出:测试:&#34; \&#34;&#34;

显然(我刚刚学会了这一点),C++11提供了使用字符串文字的其他(也许更好)工具。上面的带有反斜杠的单个字符的方法描述了更老式的做事方式。

答案 1 :(得分:0)

std::string foobar("\"foobar\"");
std::cout << foobar << std::endl;  // Prints "foobar" (with quotes)

答案 2 :(得分:0)

不确定这是否适用于c ++ ,但在 python 中,有一个叫做原始字符串的东西会忽略转义等。它看起来像:

r"some stuff\not a \new line"

或者喜欢:

R"some stuff\not a \new line"
希望有所帮助!