练习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();
}
}
}
本文介绍了一个用于将字符串中特定子串进行替换的C++函数实现。该函数利用了迭代器、insert和erase方法来完成字符串的替换操作。
33万+

被折叠的 条评论
为什么被折叠?



