C++中string的用法
阿新 • • 發佈:2018-11-25
gin 替換 手寫 是否 如何 定義 ins app 比較
我們知道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類型詳解
C++中string的用法