c++ string的详细用法(2)append()

string a="1234";
string b="5678";

1.把两个string字符串相连接
a.append(b); //结果为 a="12345678";
a.append("56789");//结果 a="123456789";

2.从string字符串b的某一个字符开始到结束连接在string字符串a后面
a.append(b,1);//结果为 a="1234678";
a.append(b,0);//结果为 a="12345678";
a.append(b,3);//结果为 a="12348";
//注意第二个参数不能大于字符串b的长度加一,否则会出错,至于为什么请看我的上一篇assign函数的用法

3.从字符串b的某一个字符开始到结束连接在string字符串a后面
a.append("5678",1);//结果为 a="12345";
a.append("5678",2);//结果为 a="123456";
a.append("5678",0);//结果为 a="1234";
// 注意2,3的区别

4.把string的子串连接到另一个string后面
a.append("5678",0,1);
a.append(b,0,1); //结果为 a="12345";
a,append("5678",1,3);
a,append(b,1,3); //结果为 a="1234678";

5.在string字符串后面添加n个字符
a.append(10,'>'); //结果为 a="1234>>>>>>>>>>";

6.template<class inputIterator> string& append(inputIterator first,inputIterator last);
//需要引入头文件#include<iterator>
a.append(istream_iterator<char>(cin),istream_iterator<char>());
//从键盘输入abcd
//结果为 a="1234abcd";
/**注意
 *该函数不接收空格换行等符号,最后(windows系统)按ctrl+z结束输入
 *如输入以下符号(既有空格也有换行)
  @#¥%………

  按时到场  sdf   456

  asd
 最后结果为 a="1234@#¥%……按时到场sdf456asd";
 */

7.使用迭代器使string字符串相连接
a.append(b.begin()+1,b.end());//结果为 a="1234678";
a.append(a.begin(),a.end());  //结果为 a="12341234";
发布了20 篇原创文章 · 获赞 62 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_40630246/article/details/103644648