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)就是删除第一个字符,erase(1,3)就是删除从1开始的3个字符
(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
例如:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str="Here we give an example!";
string::iterator pos;
//第(1)种用法
str.erase(7,5);
cout<<str<<endl; //"Here we an example"
//第(2)种用法
pos=str.begin()+9;
str.erase(pos);
cout<<str<<endl; //"Here we a example"
//第(3)种用法
str.erase(str.begin()+5,str.end()-7);
cout<<str<<endl; //"Here example"
return 0;
}