C++关于字符串的处理

定义和初始化字符串的string对象

string s1; //默认初始化,s1是一个空字符串

string s2(s1); //s2是s1的副本

string s2 = s1; // 等价于s2(s1), s2是s1的副本

string s3 = "hiya";  //等价于s3("value") , s3是字面值"value"的副本

string s4(10,'c'); //把s4初始化为由连续n个字符c组成的串

两个string对象相加

string s1 = "hello, ",    s2 = "world\n";

string s3 = s1+s2;    //s3的内容是hello, world\n

字面值和string对象相加

当把string对象和字符字面值及字符串字面值混在一条语句中使用时,必须确保每个加号(+)的两侧的运算对象至少有一个是string;

string s4 = s1+", "; //正确:

string s5 = "hello "  +  ", "; // 错误,两个运算对象都不是string

string s6 = s1 + " ," + "wold"; // 正确,每个加法运算符都有个运算对象是string,因为前两个相加就是一个string对象

string s7 = "hello" + " ," + s2;// 错误,不能把字面值直接相加;

append()  函数添加文本

str1.append(str2); //添加一个完整的

str1.append(10,'c'); //添加几个相同的字符

原文地址:https://www.cnblogs.com/MoisAbby/p/8567808.html