C++学习笔记----Strings与String View(2)-原始字符串与转义字符

在正常的输出中,如果含有特殊字符,如"、制表符、换行等时,在传统的C/C++中,一般都是通过转义字符的方式进行处理,如:

println("Hello,\"World\"!\t\n");

否则,如果直接将Hello,"World"输出出来,编译器是会报错的,如:

println("Hello "World"!"); //编译器报错

在C++的后期版本中,可以使用R“( 和 )”来解决以上问题,如:

println(R"(Hello "World"! Line 1
    Line2)");

其输出结果如下:

Hello,"World"! Line 1
    Line2

可以完美地解决以上问题。有一个问题需要注意,就是原来的那些转义字符如果出现在了字符串中,系统会正常地输出\t \n \r \"等字符串,而不会当做转义字符进行转义,如:

println(R"(Hello "World"!\t\r\n\")");

其结果如下:

Hello "World"!\t\r\n\"

这里面还有一个问题,就是如果"(或")在输出字符串中怎么办,C++给出了一个完美地解决方案,就是在R"(与)"的R与“以及)与”之间加一个不超过16个字符的分隔符,如:

println(R"-(Hello )" "World"!\t\r\n\")-");

就是在两个字符之间添加了一个-的分隔符,其结果如下:

Hello )" "World"!\t\r\n\"

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值