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