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;

 




posted @ 2014-10-27 19:58  chengcy  Views(252)  Comments(0Edit  收藏  举报