c++string函數詳解


 

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函數就到這里的,歡迎關注

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM