STL String常用函式備註

2021-09-12 15:36:00 字數 1644 閱讀 6593

對於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指向的是尾後位置

stl String常用函式

原文 string const char s 用c字串s初始化 const char c str const 返回乙個以null終止的c字串,用printf 輸出時需要 int size const 返回當前字串的大小 int length const 返回當前字串的長度 bool empty co...

STL string的常用函式

string npos 這是string類中的乙個成員變數,一般應用在判斷系統查詢函式的返回值上,若等於該值,表明沒有符合查詢條件的結果值。find函式 在乙個字串中查詢指定的單個字元或字元組。如果找到,就返回首次匹配的開始位置 如果沒有找到匹配的內容,則返回string npos。一般有兩個輸入引...

STL string的關鍵函式

string find 1.如果string sub abc string s cdeabcigld s.find sub s.rfind sub 這兩個函式,如果完全匹配,才返回匹配的索引,即 當s中含有abc三個連續的字母時,才返回當前索引。s.find first of sub s.find ...