简介:C++11中添加定义了原始字符串的字面量,定义方式为:R"xxx(原始字符串)xxx",其中()两边的字符串可以省略。原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转译或链接等操作
语法:string s1 = R"xxx(原始字符串)xxx";
场景一:写路径时不想使用\\ 不想进行转义
#include<iostream>
using namespace std;
int main(){
string str1="D:\tello\torld\test.txt"; //会发生转义
string str2=R"(D:\tello\torld\test.txt)";//不会发生转义
cout<<str1<<endl;
cout<<str2<<endl;
system("pause");
return 0;
}
场景二:想要字符串跨行显示(正常字符串无法跨行显示)
#include<iostream>
using namespace std;
int main(){
string str3=R"(<html>
<title>
成为c++大牛
</title>
<body>
成为c++大牛
</body>
</html>
)";
cout<<str3<<endl;
system("pause");
return 0;
}
注意事项:R"xxx(原始字符串)xxx" 中的xxx可以是字符串的描述信息,不会被解析,但是前后必须相同
不同的话后面一起都会变成字符串
错误示例:
正确示例: