如何制作包含原始字符串终止符的C++原始字符串?

fre*_*one 4 c++ string rawstring

R"(...)"用来定义一个原始字符串但是,如果字符串实际上包含一个原始字符串终止符)",编译器会抱怨.

例如:

auto tag = R"("(add)")"; // try to get string <"(add)">
Run Code Online (Sandbox Code Playgroud)

如何修改它以便它可以工作?

Sto*_*ica 9

原始字符串文字的语法如下所示:

R"<delim>(...)<delim>"
Run Code Online (Sandbox Code Playgroud)

正好位于括号旁边的可选分隔符正是因为您偶然发现的原因.这是让你在文字中包含原始字符串的控制字符.所以添加一个分隔符:

auto tag = R"tag("("add")")tag"; 
Run Code Online (Sandbox Code Playgroud)

  • 我总是喜欢分隔符`xyzzy` :-) (4认同)
  • @codekaizer - [`xyzzy`](https://en.wikipedia.org/wiki/Xyzzy_(computing)). (3认同)