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 篇原創文章 · 獲贊 118 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章