方法一:append
- 在字符串末尾添加另一字符串
string s0="123";//字符串s0
string s1="456";//字符串s1
s0.append(s1);
cout<<"s0: "<<s0<<endl;
cout<<"s1: "<<s1<<endl;
输出结果:
s0: 123456
s1: 456
- 在字符串末尾添加常量字符串
string s0="123";//字符串s0
cout<<"s0: "<<s0.append("456")<<endl;
输出结果:
s0: 123456
- 在字符串末尾添加单个字符
注意:append并没有提供直接插入单个字符的方法,若直接string.append('a');会显示错误
error: invalid conversion from 'char' to 'const char*' [-fpermissive]|
但C++提供了方法:
string& append (const string& str, size_t subpos, size_t sublen);
我们可以使用该方法向字符串末尾添加单个字符。但该方法较为麻烦,可以采用后续介绍的push_back()方法向字符串末尾添加单个字符。
string s0="123";//字符串s0
cout<<"s0: "<<s0.append("a",0,1)<<endl;//表示向s0字符串插入
//从"a"字符串0位置开始的一个字符
输出结果:
s0: 123a
- 总结:在采用append方法,append方法会返回一个字符串的引用。所以也可以采用s1=s0.append("123");
string s0="123";//字符串s0
string s1=s0.append("456");
cout<<"s0: "<<s0<<endl;
cout<<"s1: "<<s1<<endl;
cout<<&s0<<" "<<&s1<<endl;
输出结果:
s0: 123456
s1: 123456
0x6efec4 0x6efeac
并且可以看到,两者指向的地址并不相同。
方法二:push_back()
string s0="123";//字符串s0
s0.push_back('4');
cout<<s0<<endl;
输出结果:
1234
需要注意的是,push_back()不能向字符串后添加字符串。否则会出现以下错误:
error: invalid conversion from 'const char*' to 'char' [-fpermissive]|