最近老是要用到字符串的函数,有些函数自己早就忘光了,先总结下string用法,免得以后又不记得。
a) =,assign() //赋以新值
b) swap() //交换两个字符串的内容
c) +=,append(),push_back() //在尾部添加字符
d) insert() //插入字符 比如:s.insert(0,1,'c')在字符串开头插入c字符,0表示开头,1表示长度,c是要插入字符
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() //返回配置器
用法例子分析:
1----substr();
这个办法获取一个字符串中子字符串。例如:str = "absndfg",想获取s ="sndf"。
string s = str.substr(2,4);获取从2开始长度为4的子字符串,如果长度不满足4的话,剩下多少就多少。
2-----利用rbegin()和rend()函数实现字符串逆序,例如:str3 ="12345",str5 = "54321"
str5.assign(str3.rbegin(), str3.rend());//将字符串倒转