STL String常用函數備註

對於String庫的函數用的比較少,常規的以下size()函數什麼的不在列舉,但是有些函數很好用,手寫做一下備註,省的到處查;

1.string使用print輸出:
常規條件下string只能使用cin和cout,但是使用printf輸出藉助函數也可以;
使用c_str()函數

string str="abcd";
printf("%s\n",str.c_str())l

2.insert插入:
用兩種形式:
第一種,insert(pos,string)
在pos位置插入string,注意這裏的pos是要插入的string第一個字符應該在的位置;
例如insert(3,str2),str2插入到從零開始算第四個位置,也就是存儲的是str2的第一位;

第二種,insert(it,it2,it3)
這裏的it代表的是迭代器指針,第一個指向要插入的位置,後兩個指向插入string的起始位置和末位置;
例如:

str.insert(str.begin()+3,str2.begin(),str2.end());

這裏的插入位置的迭代器和上一種相同,就是插入string第一個字符的起始位置;

3.erase()刪除區間內的元素:
第一種 刪除單個元素:
例如:

str.erase(str.begin()+4);

這裏刪除的是迭代器指向的元素;

第二種 刪除一個區間內的所有元素
例如:

str.erase(str.begin()+2,str,end()-1);

這裏的區間是閉區間,包括迭代器指向的元素;

第三種 刪除區間內元素的另一種形式
形式爲str.erase(pos,length)
例如:

str.erase(3,2);

這裏刪除的是pos位開始的length個字符,length從1開始計數,意爲刪除元素的總個數;

4.clear()清空函數:
清空字符串內的所有元素;

5.substr()截取函數:
substr(pos,len)返回從pos開始,總長度爲len的子串;

6.find()查詢子串函數:
str.find(str2)
當str2是str的子串時,返回其在str中第一次出現的位置,如果不是子串,返回string::npos(該變量常認爲是find查詢失敗的標誌);
也有形式:str.find(str2,pos),也就是從pos位開始匹配str2,返回值也是第一次出現的位置,只不過給查詢的位置給定了一個起始的距離;

7.replace()替換函數:
str.replace(pos,len,str2)代表str的pos開始,len長度的子串替換爲str2;
str.replace(it1,it2,it3)代表str的迭代器1,2內的刺穿替換爲str2,注意,這裏的str第二個迭代器it2指向的是尾後位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章