C string 字串函式詳解

2021-07-11 05:07:23 字數 3048 閱讀 2274

december 8, 2012 / 

程式設計指南

+ 和 +=:連線字串

=:字串賦值

>、>=、< 和 <=:字串比較(例如a < b, aa < ab)

==、!=:比較字串

<<、>>:輸出、輸入字串

注意:使用過載的運算子 + 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的:

#include 

#include

intmain

()

string

str;

cin>>

str;

str.

find

("ab"

);//返回字串 ab 在 str 的位置

str.

find

("ab",2

);//在 str[2]~str[n-1] 範圍內查詢並返回字串 ab 在 str 的位置

str.

rfind

("ab",2

);//在 str[0]~str[2] 範圍內查詢並返回字串 ab 在 str 的位置

//first 系列函式

str.

find_first_of();

str.

find_first_of(,

2);str.

find_first_not_of();

str.

find_first_not_of(,

2);//last 系列函式

str.

find_last_of();

str.

find_last_of(,

2);str.

find_last_not_of();

str.

find_last_not_of(,

2);//以上函式如果沒有找到,均返回string::npos

cout

<<

string

::npos

;

str

.substr(3

);//返回 [3] 及以後的子串

str.

substr(2

,4);//返回 str[2]~str[2+(4-1)] 子串(即從[2]開始4個字元組成的字串)

str

.replace(2

,4,"sz"

);//返回把 [2]~[2+(4-1)] 的內容替換為 "sz" 後的新字串

str.

replace(2

,4,"abcd",3

);//返回把 [2]~[2+(4-1)] 的內容替換為 "abcd" 的前3個字元後的新字串

str

.insert(2

,"sz"

);//從 [2] 位置開始新增字串 "sz",並返回形成的新字串

str.

insert(2

,"abcd",3

);//從 [2] 位置開始新增字串 "abcd" 的前 3 個字元,並返回形成的新字串

str.

insert(2

,"abcd",1

,3);//從 [2] 位置開始新增字串 "abcd" 的前 [2]~[2+(3-1)] 個字元,並返回形成的新字串

除了用過載的+操作符,還可以使用函式來完成。

str

.push_back

('a'

);//在 str 末尾新增字元'a'

str.

("abc"

);//在 str 末尾新增字串"abc"

str

.erase(3

);//刪除 [3] 及以後的字元,並返回新字串

str.

erase(3

,5);//刪除從 [3] 開始的 5 個字元,並返回新字串

str1

.swap

(str2

);//把 str1 與 str2 交換

str

.size

();//返回字串長度

str.

length

();//返回字串長度

str.

empty

();//檢查 str 是否為空,為空返回 1,否則返回 0

str[n];

//訪問 str 第 n + 1 個字元

str.at(

n);//訪問 str 第 n + 1 個字元(如果溢位會丟擲異常)

int

str_replace

(string

&str

,const

string

&src

,const

string

&dest

)return

counter

;}

方法和上面相似,內部使用erase()完成。**:

int

str_erase

(string

&str

,const

string

src)

return

counter

;}

int

str_wash

(string

&str

,const

string

src)

return

counter

;}

C string 字串函式詳解

和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include int main string str cin str str.fin...

C string 字串函式詳解

和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include int main string str cin str str.fin...

C string 字串函式

december 8,2012 程式設計指南 和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include intmain stri...