C STL之string常用指令

2022-08-04 08:42:14 字數 1555 閱讀 2037

string,大小可變的字串,有些類似於c中的字元陣列。

只記載本人在acm中常用的函式,並且全部經過程式測試。

1、初始化

string s1;——預設建構函式s1為空串

string s2(s1);——將s2初始化為與s1相同

string s3("aaa");——將s3初始化為aaa

string s4(3, 'b');——將s4初始化為bbb

2、輸入輸出

能用cin,cout;不能用scanf,printf。

用cin讀入會忽略開頭所有空白字元(如空格,換行符,製表符),讀取字元直至再次遇到空白字元。

用getline能整行讀入(不會忽略前驅空格),讀入得到的字串末尾沒有換行符。

3、普通運算子

s[n],s1 + s2,s1 = s2,s1 == s2,!=, , >=均保持它們慣有的含義

4、insert插入

s1.insert(迭代器, 單個字元);——如s1.insert(s1.begin(), 's');

5、erase刪除

s1.erase(數字a, 數字b);——刪除s1[a]開始,刪除b個

s1.erase(迭代器)——刪除迭代器指示的那個元素

s1.erase(迭代器a, 迭代器b)——刪除迭代器a到迭代器b之間的所有元素,刪除迭代器a指示元素,不刪b

6、clear清空

7、repalce替換

與erase的一三個用法相似,不過沒有第二個用法

8、empty字串為空返回真,否則返回假

9、substr函式,擷取string中的一段。s = s.substr(a, b)則為將s變成自己的從第a位開始,長度為b的子串。(從第0位開始)比如s = "12345",s = s.substr(1, 3),則s = "234"。

測試程式部分為(測試過程中不小心刪掉了部分- -)

1/*2

* author: plumrain

3* created time: 2013-09-05 15:53

4* file name: string.cpp5*/

6 #include7 #include8 #include9 #include

1011

using

namespace

std;

1213

#define out(x) cout<

#define tst(a) cout<

16void

test_1()

1728

29void

test_2()

3037

38void

test_3()

3948

49void

test_insert()

5057

58void

test_erase()

5966

67void

test_replace()

6875

76int

main()

77

view test code

C STL之pair常用指令

只記載本人在acm中常用的函式。pair,將兩個資料組合成乙個資料。在其他stl 如map 函式需要傳回兩個值時可能會用到。1 初始化 include pair的標頭檔案很特別 std pair p 如std pair p 3,2.2 pairp1 std make pair 3,2.2 注意pai...

C STL常用操作之string篇

include 一種資料型別,類似於字串,但是可以進行一些比字串更方便的操作,在程式設計的時候也是經常用到。string s1 預設為空串 string s2 4 c 長度為4且每個位置的字元均為c cout s1 endl s2 endl getline cin,s1 讀取一整行 cin s2 讀...

c STL之string用法總結

1 標頭檔案 include 2 string類的常用建構函式 string str 構造空的string類物件,即空字串 string str str1 str1 和 str 一樣 string str abc 等價於 str abc string str abc strlen 等價於 abc 存...