C string庫函式詳解

2021-10-14 12:23:17 字數 2836 閱讀 5846

+、+=      連線字串

=        字串賦值

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

==、!=      比較字串

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

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

1 #include 

2 #include

3int

main()

4

2.1 find() 查詢函式

1 str.

find

("ab");

2//返回字串 ab 在 str 的位置

3 str.

find

("ab",2

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

5 str.

rfind

("ab",2

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

2. 2 find_first() 首次出現系列函式

1 str.

find_first_of()

;23 str.

find_first_of(,

2);4

5 str.

find_first_not_of()

;67 str.

find_first_not_of(,

2);8

2.3 find_last() 末次出現系列函式

1 str.

find_last_of()

;23 str.

find_last_of(,

2);4

5 str.

find_last_not_of()

;67 str.

find_last_not_of(,

2);8

注意:以上函式如果沒找到的話均返回 string::npos。

3. 字串的子串

1 str.

substr(3

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

3 str.

substr(2

,4);

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

4. 字串替換

1 str.

replace(2

,4,"sz");

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

3 str.

replace(2

,4,"abcd",3

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

5. 字串插入

1 str.

insert(2

,"sz");

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

3 str.

insert(2

,"abcd",3

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

5 str.

insert(2

,"abcd",1

,3);

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

6. 字串追加

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

1 str.

push_back

('a');

2//在 str 末尾新增字元'a'

3 str.

("abc");

4//在 str 末尾新增字串"abc"

7. 字串刪除

1 str.

erase(3

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

3 str.

erase(3

,5);

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

8. 字串交換

1 str1.

swap

(str2);2

//把 str1 與 str2 交換

9. 其他函式

1 str.

size()

;2//返回字串長度

3 str.

length()

;4//返回字串長度

5 str.

empty()

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

7 str[n];8

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

9 str.

at(n);10

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

C string 字串函式詳解

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

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...