發現string 的使用一直有些誤解,主要c++在windows編程和unix編程時使用的string 有些不太一樣。 最經發現原來std::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的初值
2.字符串操作函數
a) =,assign() //賦以新值
b) swap() //交換兩個字符串的內容
c) +=,append(),push_back() //在尾部添加字符
d) insert() //插入字符
e) erase() //刪除字符
f) clear() //刪除全部字符
g) replace() //替換字符
h) + //串聯字符串
i) ==,!=,<,<=,>,>=,compare() //比較字符串
j) size(),length() //返回字符數量
k) max_size() //返回字符的可能最大個數
l) empty() //判斷字符串是否為空
m) capacity() //返回重新分配之前的字符容量
n) reserve() //保留一定量內存以容納一定數量的字符
o) [ ], at() //存取單一字符
p) >>,getline() //從stream讀取某值
q) << //將謀值寫入stream
r) copy() //將某值賦值為一個C_string
s) c_str() //將內容以C_string返回
t) data() //將內容以字符數組形式返回
u) substr() //返回某個子字符串
v)查找函數
w)begin() end() //提供類似STL的迭代器支持
x) rbegin() rend() //逆向迭代器
y) get_allocator() //返回配置器
其實像什麼+ 啊 神馬的還是很好用的,其實比較麻煩的就是想要多種類型串聯的時候就比較麻煩, 畢竟沒有想c# java 那樣的.string 可以使用。下
本文出自 “點滴” 博客