stl的string容器使用很多,常常忘記一些函式的用法,決定邊用邊整理起來。
首先使用條件是include庫
string s1(「abcdefg」); //用字串的值初始化s1
string s2(s1); //拷貝建構函式生成s1的副本s2
string s3(s1,index); //將s1中從index的位置後的字串作為s3的初值(從0開始計數字置)
string s4(s1,index,len); //將s1中從index的位置後且長度為len的字串作為s4的初值
string s5(n,』a』); //用n個字元a來初始化字串s5
string s6(s1.begin(),s1.begin()+6); //擷取s1.begin()到s1.begin()+6的區間作為s6的初值
void creatstr()
標頭檔案沒寫,上面有說明。看一下執行結果吧(vs):
s.empty(): 判斷string s是否為空,不為空返回0(false);
s1.size()/s1.length(): 返回string的長度/字元個數;
s2.insert(s2.begin()+2,』3』); 在s2的第二個位置(begin()+2)插入新的字元『3』;標準容器的插入pushback()也支援,只是只能插在最後;
string operator+:串聯字串,左運算元需為string型別,右運算元可以是string,char,常字串;
s5.clear(); 清空s5容器的所有內容,用eraser()可以刪除單個元素;
s1.compare(s2); //將string s1 與 s2比較,若s1>s2,返回1;若s1小於s2,返回-1;相等返回0;
operator== :s1==s2;// 比較字串s1,s2是否相等,相等返回1,否則返回0;
s2.find(『e』);// 在s2中找到字元『e』的位置並返回;
s2.find(『e』,4); //從s2第4個位置開始找到字元『e』的位置並返回;
s2.find(「rew」); //在s2中找到字串「rew」的位置並返回;
s2.rfind(『e』); // 在s2中反向查詢字元『e』的位置並返回;
s2.find_first_of(「eee」); //在s2中查詢子串「eee」的位置返回
s2.find_first_not_of(「wsx」); // 在s2中查詢第乙個不在字串「wsx」的字元位置返回;
s4.replace(5,6,」replace」); // 把s4中從位置5開始的6個字元替換為「replace」;
s4.replace(s4.begin(),s4.begin()+4,」try」); //把s4中從begin()到begin()+4的區域替換為try;
s5=s2.substr(2,4); //擷取s2中位置2~4的字元賦值給s5;
s6=s2.substr(posi); //擷取從posi開始的位置後所有字元賦值給s6;
先到這吧,還有關於string的遍歷和刪除,其實就是容器的操作部分。
關於string 轉char 之後再專門寫一篇好了~
參考:
STL之string的相關函式
用 stl進行字串的分割 涉及到string類的兩個函式find和substr 1 find函式 原型 size t find const string str,size t pos 0 const 功能 查詢子字串第一次出現的位置。引數說明 str為子字串,pos為初始查詢位置。返回值 找到的話返...
STL函式整理
unique函式 這是乙個去重函式,去除相鄰元素的重複元素,由於是相鄰元素,因此使用前一般要對元素進行排序 排序可以用到sort函式 這裡的 去除 並不是將元素刪除掉,而是後面不重複的元素向前移動,將重複元素覆蓋。例如數字 1 3 3,4,5,6 6 7 經過去重之後變為1,3,4,5,6,7,6,...
STL複習(1)之string容器
1.string和char 區別 char 是乙個指標 string是乙個類,類內部封裝了char 管理這個字串,是乙個char 型的容器 2.建構函式 string 建立乙個空的字串 例如 string str string const char s 使用字串s初始化 string const s...