【c++】删除string中指定的字符使⽤string::iterator(字符串迭代器)从开始 str.begin() 迭代到最后 d() ,再使⽤函数来删除迭代器所指向的字符。#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
char ch;
cin >> str;
cin >> ch;
string::iterator it;
for (it = str.begin(); it < d(); it++)
{
if (*it == ch)
{
it--;
/*
字符串截取指定字符后的文字it--很重要,因为使⽤erase()删除it指向的字符后,后⾯的字符就移了过来,
it指向的位置就被后⼀个字符填充了,⽽for语句最后的it++,⼜使it向后移
了⼀个位置,所以就忽略掉了填充过来的这个字符。在这加上it--后就和for
语句的it++抵消了,使迭代器能够访问所有的字符。
*/
}
}
cout << str;
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论