Dav*_*one 40 c++ string escaping
\字符串文字中的转义字符有哪些规则?是否有所有转义字符的列表?
特别是,当我\在gedit中的字符串文字中使用并按任意三个数字跟随它时,它会以不同的方式对它们进行着色.
我试图std::string用文字创建一个构造,其中0后跟空字符(\0)后跟字符0.然而,语法突出显示警告我,这可能会创建类似于0后跟空字符(\00,aka \0)的字符,也就是说,只有两个字符.
对于这个问题的解决方案,这是最好的方法:
std::string ("0\0" "0", 3) // String concatenation
Run Code Online (Sandbox Code Playgroud)
并且是否存在一些关于转义字符在字符串文字中的作用的参考?例如,'\ a'是什么?
dan*_*n04 61
控制字符:
(十六进制代码假定与ASCII兼容的字符编码.)
\a= \x07=警报(铃)\b= \x08=退格\t= \x09=水平标签\n= \x0A=换行符(或换行符)\v= \x0B=垂直制表符\f= \x0C=换页\r= \x0D=回车\e= \x1B=转义(非标准GCC扩展)标点字符:
\"=引号(不需要反斜杠'"')\'=撇号(不需要反斜杠"'")\? =问号(用于避免三角形)\\ =反斜杠数字字符引用:
\ +最多3个八进制数字\x +任意数量的十六进制数字\u + 4个十六进制数字(Unicode BMP,C++ 11中的新增功能)\U + 8个十六进制数字(Unicode星体平面,C++ 11中的新增功能)\0= \00= \000=八进制ecape为空字符
如果你想在a之后想要一个实际的数字字符\0,那么是的,我推荐字符串连接.请注意,文字部分之间的空格是可选的,因此您可以编写"\0""0".