天天看點

C++中string的用法一、對位和對串操作二、内置函數

我們知道string可以構造一個字元串變量,那麼它的操作有哪些呢。它包含在string庫中(不是string.h沒有.h),它可以和定義一個字元一樣定義一個字元串變量,而且強大的C++還内置了各種函數,基本實作不用再手寫操作函數。而且可以進行字典序的比較和串操作。

一、對位和對串操作

如何或者string串中的某一位字元呢,我們使用數組下面的方式就可以通路。

例如

string s = "abcdef";
cout << s[0] << endl;      

結果就應該是輸出了字元'a',同時string類型也可以直接加上另一個字元串,例如

string a = "abc", b = "bcd";
a = a + b;
cout << a << endl;      

結果應該輸出字元串“abcbcd”。

二、内置函數

在string類型中其實包括了很多函數,例如

1     string s = "a";
 2     s.append(2,'b');//s.append(n,c);在s串後面加入n個c字元(append還有其他用法,詳情可百度)
 3     s.erase(s.begin(),s.begin()+2);//s.erase(l,r);删除某個區間,l,r都為疊代器
 4     s.erase(it);//删除一個字元,it為疊代器
 5     s.size();//傳回字元串s的長度大小
 6     s.begin();//傳回首位置的疊代器
 7     s.end();//傳回末位置的疊代器
 8     s.insert(it,ch);//在it位置插入ch字元,it為疊代器
 9     s.resize(len,c);//把字元串目前大小置為len,并用c填充不足的部分
10     s.empty();//判斷是否為空串
11     s.length();//傳回字元串的長度
12     s.max_size();//傳回目前系統string對象可存放的最大長度
13     s.capacity();//傳回目前容量
14     s.at(k);//傳回第k+1個字元(該用法會堅持是否越界)
15     s.c_str();//傳回C字元串的指針,内容為s串
16     s.find(s1);//查找s中是否包含s1,并傳回頭位置,找不到則傳回string::npos
17     s.replace(k,x,ch);//從k位置開始,把後面的x個元素替換為ch(還有很多其他用法)
18     s.swap(s2);//交換兩個string字元串      

而且string還支援直接比較兩個字元串的大小(内置字典序比較方式)。除了上面寫了的外,string其實還有很多函數。

emmm寫到一半發現了個講的很全的部落格,不寫了 ==

C++string類型詳解

繼續閱讀