生活中的小应用 给力啊·函数的替换
#include<iostream>
using namespace std;
string &replace_all(string& str, const string& old_value, const string& new_value)
{
while (true)
{
string::size_type pos(0);
if ((pos=str.find(old_value))!=string::npos)
str.replace(pos,old_value.length(),new_value);
else break;
}
return str;
}
string &replace_all_distinct(string& str,const string&old_value,const string& new_value)
{
for (string::size_type pos(0);pos!=string::npos;pos+=new_value.length())
{
if ((pos=str.find(old_value,pos))!=string::npos)
str.replace(pos,old_value.length(),new_value);
else
break;
}
return str;
}
int main()
{
string s1="12212";
string s2="12212";
cout<<replace_all(s1,"12" ,"21")<<endl;
cout<<replace_all_distinct(s2,"12","21")<<endl;
return 0;
}
/*
输出如下:
22211
21221
*/