为了账号安全,请及时绑定邮箱和手机立即绑定

C ++字符串文字的规则转义字符

C ++字符串文字的规则转义字符

C++
缥缈止盈 2019-08-02 17:07:41
C ++字符串文字的规则转义字符\字符串文字中的转义字符有哪些规则?是否有所有转义字符的列表?特别是,当我\在gedit中的字符串文字中使用并按任意三个数字跟随它时,它会以不同的方式对它们进行着色。我试图std::string用文字创建一个构造,其中0后跟空字符(\0)后跟字符0。然而,语法突出显示警告我,这可能会创建类似于0后跟空字符(\00,aka \0)的字符,也就是说,只有两个字符。对于这个问题的解决方案,这是最好的方法:std::string ("0\0" "0", 3)  // String concatenation并且是否存在一些关于转义字符在字符串文字中的作用的参考?例如,'\ a'是什么?
查看完整描述

3 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

控制字符:

(十六进制代码假定与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"


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 797 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信