c STL之string用法總結

2021-10-01 18:29:40 字數 4221 閱讀 4939

1 標頭檔案

#include

2 string類的常用建構函式:

string  str——構造空的string類物件,即空字串

string str

(str1)——str1 和 str 一樣

string str

("abc"

)——等價於 str=

"abc"

string str

("abc"

,strlen)——等價於 "abc" 存入 str 中,最多儲存 strlen 個位元組

string str

("abc"

,stridx,strlen)——等價於 "abc" 的stridx 位置,

作為字串開頭,存到str中,最多儲存 strlen 個位元組

string str

(srelen,

'a')——儲存 strlen 個 'a' 到 str 中

3 元素的訪問

4 assign函式:

5 insert函式方法:

str.

insert(2

,3,'a'

)——在str下標為2的位置新增 3個 字元'a'

str.

insert(2

,"abc"

)——在str下標為2的位置新增 字串 "abc"

str.

insert(2

,"abc",1

)——在str下標為2的位置新增 字串 "abc" 中 1個 字元

str.

insert(2

,"abc",1

,1)——在str下標為2的位置新增 字串 "abc" 中

從位置 1 開始的 1 個字元

//注:上個函式引數中加粗的 1 ,可以是 string::npos,這時候最大值,

//從 位置1 開始後面的全部字元

str.

insert

( iterator pos, size_type count, chart ch )——在 str 中,

迭代器指向的 pos位置 插入 count個 字元 ch

s4.insert

(++str1.

begin()

,2,'a'

); 結果:s4:abcd -

> aaabcd

str.

insert

( iterator pos, inputit first, inputit last )——

在 str 中,pos位置 插入 str1 的 開始位置 到 結束為止

6 擦除

7 反轉相關:

(位於標頭檔案

)reverse

(str.

begin()

,str.

end(

))——str的開始 到 結束字元反轉

reverse

(s4.begin,s4.end)

; 結果:s4:abcd -

> dcba

8 查詢相關:

str.

find

('a'

)——查詢 'a'

str.

find

("abc"

)——查詢 "abc"

int n=s4.

find

("abc"

); s4:abcd -

> n =

0 str.

find

('b',1

)——從 位置1 處,查詢'b'

str.

find

("abc",1

,2)——從 位置1 處,開始查詢 'abc' 的前 2個 字元

str.

rfind

('a'

)——查詢 'a'

str.

rfind

("abc"

)——查詢 "abc"

int n=s4.

rfind

("abc"

); s4:aaaabcd -

> n =

3 str.

rfind

('b',1

)——從 位置1 處,向前查詢'b'

str.

rfind

("abc",1

,2)——從 位置1 處,開始向前查詢 'abc' 的前 2個 字元

str.

find_first_of

("abbc"

)——查詢 "abbc" 和str 相等的任何字元,

"abbc" 中有就返回位置

str.

find_first_of

("abbc",1

)——查詢 "abbc" 和str 相等的任何字元,

從 位置1 處,開始查詢"abbc" 中的字元,"abbc" 中有的就返回位置

str.

find_first_of

("abbc",1

,2)——查詢 "abbc" 和str 相等的任何字元,

從 位置1 處,開始查詢"abbc" 的前 2個 字元,"abbc" 中有的就返回位置

str.

find_last_of

("abbc"

)——查詢 "abbc" 和str 相等的任何字元,

向前查詢,"abbc" 中有的返回位置

str.

find_last_of

("abbc",1

)——查詢 "abbc" 和str 相等的任何字元,從

位置1 處,開始向前查詢"abbc" 中的字元,"abbc" 中有的就返回位置

str.

find_last_of

("abbc",10

,2)——查詢 "abbc" 和str 相等的任何字元,

從 位置10 處,開始向前查詢"abbc" 的前 2個 字元,"abbc" 中有的就返回位置

str1=str.

substr(2

)——提取子串,提取出 str 的 下標為2 到末尾,給 str1

str1=str.

substr(2

,3)——提取子串,提取出 str 的 下標為2 開始,

提取三個位元組,給 str1

const

char

* s1=str.

data

()——將string類轉為字串陣列,

返回給s1

char

* s=

newchar[10

] str.

copy

(s,count,pos)——將 str 裡的 pos 位置開始,拷貝 count個 字元,

存到 s 裡

示例物件:string str

(「abcd」)

str.

compare

(「abcd」)——完全相等,返回0

str.

compare

(「dcba」)——返回乙個小於0的值

str.

compare

(「ab」)——返回大於0的值

str.

compare

(str)——相等

str.

compare(0

,2,str,2,

2)——用str的 下標0 開始的 2個字元 和 str的 下標2 開始的

2個 字元比較——就是用 "ab" 和 "cd」" 比較,結果小於零

str.

compare(1

,2,」bcx」,

2)——用str的 下標1 開始的 2個字元 和 "bcx"的 前 2個

字元比較——就是用 "bc" 和 "bc」" 比較,結果是零

C STL之vector用法總結

vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...

C STL之vector用法總結

vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...

C STL之vector用法總結

vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...