c++ - 在原始字符串文字中包含 )"而不终止所述文字

标签 c++ c++11 delimiter string-literals rawstring

两个字符 )" 终止下面示例中的原始字符串文字。
序列 )" 可能会出现在我的文本中,即使在其中找到该序列,我也希望字符串继续。

R"(  
    Some Text)"  
)";       // ^^

如何在字符串文字中包含序列 )" 而不终止它?

最佳答案

Raw string literals让您指定一个几乎任意的*分隔符:

//choose ### as the delimiter so only )###" ends the string
R"###(  
    Some Text)"  
)###";  

*确切的规则是:“基本源字符集的任何成员,除了: 空格,左括号(,右括号),反斜杠\, 和代表水平制表符的控制字符, 垂直制表符、换页和换行符”(N3936 §2.14.5 [lex.string] 语法)和“最多 16 个字符”(§2.14.5/2)

关于c++ - 在原始字符串文字中包含 )"而不终止所述文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30308088/

相关文章:

c++ - 将 BitmaskType 与零进行比较的正确方法?

android - 在 android 中包含 Boost C++ 库

C++ 11查找总和>阈值的 vector 的最短前缀的方法

c++ - (为什么)移动构造函数或移动赋值运算符应该清除它的参数吗?

windows - 如何在 CMD/Batch 中将数字拆分为单个数字

java - 按空格、连字符和 "ab cd"分割字符串

c++ - 错误 : ISO C forbids declaration of `test' with no type

C++11 反射库

c++ - C++中的新行错误

c++ - regex_search 只选择匹配的最大子串。还要在 regex_search 中键入不匹配