string,一個極為好用了函數,學好了這些函數,在模擬以及字符串問題上,回節省很多很多的寫代碼時間,代碼復雜度以及錯誤率,那么這一類函數都有那些功能呢?我們來逐一介紹(讓你大吃一驚,還有這種操作?)
首先,一切的一切,都要有這個頭文件:
#include <cstring>
那么如何設string呢?
string s;
這就好了,這就是一個字符串,和char c[]設法相像,但是功能多太多了。
(一個string就是c[]不用謝s[100010]之類的)
而且,string支持加減,等邏輯運算!!!
例如:
int main() { string a="aabc"; string b="1221"; cout<<"a+b: "<<a+b<<endl; a=a+b; cout<<"a: "<<a+b<<endl; if(a!=b) cout<<"no"; }
運行結果是:
是不是很厲害,還有更厲害的!!!
可以初始化同樣的字符:
int main() { string a(100,'s'); cout<<a; }
運行結果如下:
還可以求長度:
int main() { string a(100,'s'); cout<<a.size(); }
最重要的就是兩個字符串搞事情了,重點來了!!!
int main() { string a="abc"; string b="123"; string c="bc"; a.insert(1,b);//在下表1的地方插入b cout<<a<<endl; a="abc"; a.replace(0,1,b);//將下表0~1位置換成b cout<<a<<endl; a="abc"; cout<<a.find(b)<<" "<<a.find(c)<<endl;//在字符串a中找字符串b、c。如果有則返回初始下標,沒有則返回一個奇奇怪怪的數 }
運行結果如下:
還有就是刪除:
int main() { string a="abc"; string b="123"; a.clear();//全部刪除,簡單粗暴 b.erase(0,1);//刪除0~1-1的字符 cout<<a<<endl<<b; }
本期的string函數就到這里的,歡迎關注