实现C++ string中一个函数
函数形式为replace(S1,i,j,S2)
S1是string对象,i表示从S1对象的i位置开始删除长度为j的字符串,并用S2替换这个字符串。
能否给个思路?
把string转换成数组就可以了,用sizetype类型就可以遍历来
如果你要用数组的话,程序要满足一个条件,strlen(S2)=j-i;
类似的程序,你可以参考写一下#include
#include
using namespace std;
int main(){
string a;/////指定串,可根据要求替换
string b;////要查找的串,可根据要求替换
string c;
cin>>a>>b>>c;
int pos;
pos = a.find(b);////查找指定的串
while (pos != -1)
{
a.replace(pos,b.length(),c);////用新的串替换掉指定的串
pos = a.find(b);//////继续查找指定的串,直到所有的都找到为止
}
cout<<a<<endl;
return 0;
}
需要对s2的数据的长度做个判断,s2.size()
如果小于 j-i,补空格
如果大于,取部分
(当然之前的j>i是必需的)