C string類的詳解

2021-08-04 04:42:54 字數 1732 閱讀 7461

from:

之所以拋棄char*的字串而選用c++標準程式庫中的string類,是因為他和前者比較起來,不必擔心記憶體是否足夠、字串長度等等,而且作為乙個泛型類出現,他整合的操作函式足以完成我們大多數情況下(甚至是100%)的需要。我們可以用 = 進行賦值操作,== 進行比較,+ 做串聯(是不是很簡單?)。我們盡可以把它看成是c++的基本資料型別。

c++中對於strinig的定義為:typedef basic_stringstring; 也就是說c++中的string類是乙個泛型類,由模板而例項化的乙個標準類,本質上不是乙個標準資料型別。

好了,進入正題………

首先,為了在我們的程式中使用string型別,我們必須包含標頭檔案 。如下:

#include //注意這裡不是string.h string.h是c字串標頭檔案

string 函式列表

函式名描述

begin

得到指向字串開頭的iterator

end得到指向字串結尾的iterator

rbegin

得到指向反向字串開頭的iterator

rend

得到指向反向字串結尾的iterator

size

得到字串的大小

length

和size函式功能相同

max_size

字串可能的最大大小

capacity

在不重新分配記憶體的情況下,字串可能的大小

empty

判斷是否為空

operator

取第幾個元素,相當於陣列

c_str

取得c風格的const char* 字串

data

取得字串內容位址

operator=

賦值操作符

reserve

預留空間

swap

交換函式

insert

插入字元

追加字元

push_back

追加字元

operator+=

+= 操作符

erase

刪除字串

clear

清空字元容器中所有內容

resize

重新分配空間

assign

和賦值操作符一樣

replace

替代copy

字串到空間

find

查詢rfind

反向查詢

find_first_of

查詢包含子串中的任何字元,返回第乙個位置

find_first_not_of

查詢不包含子串中的任何字元,返回第乙個位置

find_last_of

查詢包含子串中的任何字元,返回最後乙個位置

find_last_not_of

查詢不包含子串中的任何字元,返回最後乙個位置

substr

得到字串

compare

比較字串

operator+

字串鏈結

operator==

判斷是否相等

operator!=

判斷是否不等於

operator<

判斷是否小於

operator>>

從輸入流中讀入字串

operator<<

字串寫入輸出流

getline

從輸入流中讀入一行

c string類詳解 學會絕對有用

之所以拋棄char 的字串而選用c 標準程式庫中的string類,是因為他和前者比較起來,不必擔心記憶體是否足夠 字串長度等等,而且作為乙個類出現,他整合的操作函式足以完成我們大多數情況下 甚至是100 的需要。我們可以用 進行賦值操作,進行比較,做串聯 是不是很簡單?我們盡可以把它看成是c 的基本...

C String類的實現

參考c primer.string類的實現,清翔兔 06,jan.include using namespace std class string string void private char m data inline string string const char str if str m...

C String類的實現

include using namespace std class string string void private char m data inline string string const char str inline string string const string other i...