返回顶部

关于string.erase函数删除错误

void simpify(string& x)//去除前导0
{
   for(string::iterator it=x.begin();it!=x.end();it++)
   {
       if(*it=='0')
       {
            x.erase(it);
            cout<<x<<endl;
       }
          
       else
           break;
   }
}

错误原因:每次删除一个元素后迭代器会自动加一所以for循环多增加了一

posted @ 2020-08-08 15:46  tianyudizhua  阅读(144)  评论(0编辑  收藏  举报