C++ string中常用函数
erase():
erase函数的原型如下:
(1)string& erase ( size_t pos = 0, size_t n = npos );
(2)iterator erase ( iterator position );
(3)iterator erase ( iterator first, iterator last );
也就是说有三种用法:
(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
用法示例:
int main() { string str="ilovesjtu"; str.erase(2,1); cout<<str<<endl;//ilvesjtu string::iterator ite=str.begin(); str.erase(ite+2); cout<<str<<endl;//ilesjtu str.erase(ite+1,ite+3); cout<<str<<endl;//isjtu str.erase(2); cout<<str<<endl;//is }
insert():
由下面的代码可知,插入但个字符与字符串的方法不同,这个需要注意;
string str="china"; str.insert(0,"hello");//hellochina cout<<str<<endl; str.insert((string::size_type)2,2,'j');//hejjllochina cout<<str<<endl; string::iterator ite=str.begin(); str.insert(ite+1,2,'j');//hjjejjllochina cout<<str<<endl;
reverse_iterator:可对字符串逆序输出,当然reverse(str.begin(),str.end())可对字符串本身逆转,需要include<algorithm>;
string str="ilovechina"; string::reverse_iterator ite=str.rbegin(); for(;ite!=str.rend();++ite) cout<<*ite<<ends;
substr();
string substr (size_t pos = 0, size_t len = npos) const;
string str="hellobaby"; string s=str.substr(1,3);//ell cout<<s<<endl;