练习9.43。编写一个函数,接受三个string参数是,oldval,newval,使用迭代器及insert函数和erase函数将s中所有oldval替换为newval;
#include
#include
using namespace std;
void oops_func(string & s1, string & s2, string & s3);
int main(void)
{
string s = "Rachel Monica Monica Joey Chandler Phobe Monica";
string newval = "Ross";
string oldval = "Monica";
cout << s << endl;
oops_func(s, oldval, newval);
cout << s << endl;
return 0;
}
void oops_func(string & s1, string & s2, string & s3)
{
int biaozhi = 0;//标志位
int count = 0; //插入点或删除点位置
for (int i = 0; i <= s1.size(); i++)
{
for (int j = 0; j < s2.size(); j++)
{
if (s1[i + j] == s2[j])
biaozhi = 1;
else
{
biaozhi = 0;
break;
}
}
if (biaozhi == 1)
{
s1.erase(i, s2.size());
s1.insert(i, s3);
i += s3.size();
}
}
}