1.宣告一個C++字串
宣告一個字串變數很簡單:
string Str;
這樣我們就聲明瞭一個字串變數,但既然是一個類,就有建構函式和解構函式。上面的宣告沒有傳入引數,所以就直接使用了string的預設的建構函式,這個函式所作的就是把Str初始化為一個空字串。String類的建構函式和解構函式如下:
a) string s; //生成一個空字串s
b) string s(str) //複製建構函式 生成str的複製品
c) string s(str,stridx) //將字串str內“始於位置stridx”的部分當作字串的初值
d) string s(str,stridx,strlen) //將字串str內“始於stridx且長度頂多strlen”的部分作為字串的初值
e) string s(cstr) //將C字串作為s的初值
f) string s(chars,chars_len) //將C字串前chars_len個字元作為字串s的初值。
g) string s(num,c) //生成一個字串,包含num個c字元
h) string s(beg,end) //以區間beg;end(不包含end)內的字元作為字串s的初值
i) s.~string() //銷燬所有字元,釋放記憶體
都很簡單,我就不解釋了。
2.字串操作函式
這裡是C++字串的重點,我先把各種操作函式羅列出來,不喜歡把所有函式都看完的人可以在這裡找自己喜歡的函式,再到後面看他的詳細解釋。
a) =,assign() //賦以新值
b) swap() //交換兩個字串的內容
c) +=,append(),push_back() //在尾部新增字元
d) insert() //插入字元
g) replace() //替換字元
h) + //串聯字串
i) ==,!=,,>=,compare() //比較字串
j) size(),length() //返回字元數量
k) max_size() //返回字元的可能最大個數
l) empty() //判斷字串是否為空
m) capacity() //返回重新分配之前的字元容量
n) reserve() //保留一定量記憶體以容納一定數量的字元
o) [ ], at() //存取單一字元
p) >>,getline() //從stream讀取某值
q)
r) copy() //將某值賦值為一個C_string
s) c_str() //將內容以C_string返回
t) data() //將內容以字元陣列形式返回
u) substr() //返回某個子字串
v)查詢函式
w)begin() end() //提供類似STL的迭代器支援
x) rbegin() rend() //逆向迭代器
y) get_allocator() //返回配置器
1.宣告一個C++字串
宣告一個字串變數很簡單:
string Str;
這樣我們就聲明瞭一個字串變數,但既然是一個類,就有建構函式和解構函式。上面的宣告沒有傳入引數,所以就直接使用了string的預設的建構函式,這個函式所作的就是把Str初始化為一個空字串。String類的建構函式和解構函式如下:
a) string s; //生成一個空字串s
b) string s(str) //複製建構函式 生成str的複製品
c) string s(str,stridx) //將字串str內“始於位置stridx”的部分當作字串的初值
d) string s(str,stridx,strlen) //將字串str內“始於stridx且長度頂多strlen”的部分作為字串的初值
e) string s(cstr) //將C字串作為s的初值
f) string s(chars,chars_len) //將C字串前chars_len個字元作為字串s的初值。
g) string s(num,c) //生成一個字串,包含num個c字元
h) string s(beg,end) //以區間beg;end(不包含end)內的字元作為字串s的初值
i) s.~string() //銷燬所有字元,釋放記憶體
都很簡單,我就不解釋了。
2.字串操作函式
這裡是C++字串的重點,我先把各種操作函式羅列出來,不喜歡把所有函式都看完的人可以在這裡找自己喜歡的函式,再到後面看他的詳細解釋。
a) =,assign() //賦以新值
b) swap() //交換兩個字串的內容
c) +=,append(),push_back() //在尾部新增字元
d) insert() //插入字元
g) replace() //替換字元
h) + //串聯字串
i) ==,!=,,>=,compare() //比較字串
j) size(),length() //返回字元數量
k) max_size() //返回字元的可能最大個數
l) empty() //判斷字串是否為空
m) capacity() //返回重新分配之前的字元容量
n) reserve() //保留一定量記憶體以容納一定數量的字元
o) [ ], at() //存取單一字元
p) >>,getline() //從stream讀取某值
q)
r) copy() //將某值賦值為一個C_string
s) c_str() //將內容以C_string返回
t) data() //將內容以字元陣列形式返回
u) substr() //返回某個子字串
v)查詢函式
w)begin() end() //提供類似STL的迭代器支援
x) rbegin() rend() //逆向迭代器
y) get_allocator() //返回配置器