c++中编一个叫replace的函数

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:37:08
#include"iostream.h"
void replace(char s[],char c1[],char c2[])
{
int i(0),j(0),x,y,k,l(0),m,n,p,t,z;
while(c1[i]!='\0')
i++;
i=i-1;
x=i;
while(c2[j]!='\0')
j++;
j=j-1;
y=j;
k=y-x;
while(s[l]!='\0')
l++;

for(p=0;p<l;p++)
{
n=0;
while(s[p+n]==c1[n])
n++;
if(n==x+1)
break;
}
z=p;

if(k>=0)
for(m=l;m>=z+x+1;m--)
{
s[m+k]=s[m];
}
if(k<0)
for(m=z+x+1;m<=l;m++)
{
s[m+k]=s[m];
}
for(t=0;t<=y;t++)
s[z+t]=c2[t];
for(i=0;i<l+k;i++)
cout<<s[i];
}
void main()
{
char s[]="a good dog";
cout<<"原文:"<<s<<endl;
cout<<"替换后:";
char a[]="good";
char b[]="bad";
rep

用string可以
string s;
getline(cin, s);
string a;
cin >> a;
string b;
cin >> b;
replase(&s, &b, &c);

如果你是实际要使用的话,CString自己有Replace函数。
CString str;
str = "asdfsadfasdfsdafasf";

str.Replace("a","0");

就把a都替换成0了。