您的位置:首页 > 编程语言 > C语言/C++

C++ primer课后练习9.43

2016-12-06 19:00 267 查看
练习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();
}
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: