c语言如何将一个字符串里某些字符代替另外一个字符串来

2024-12-03 09:44:27
推荐回答(3个)
回答1:

几天前回答过缓拍一样的问题,数字也可以扰闷羡的,我测试过罩启了。长度不同也可以。
#include
#include
main()
{ char string[300],change[50],replace[50];
char s[300];
char *p,*q;
int i,lengthch,lengthre,flag,j=0;
printf("Input a string:");
gets(string);
printf("Input the string you want to be changed:");
scanf("%s",change);
printf("Input the string you want to replace:");
scanf("%s",replace);
lengthch=strlen(change);
lengthre=strlen(replace);
puts(string);
p=q=string;
for(;*p;p++)
{ if(*p==change[0])
{
flag=1;
q=p;
for(i=0;i { if(*q!=change[i])
{ flag=0;
break;
}
else q++;
}
if(flag==1)
{ for(i=0;i s[j++]=replace[i];
p=q-1;
}
}
else s[j++]=*p;
}
s[j]='\0';
puts(s);
}

回答2:

用char *strstr(const char *str, const char *strSearch ); 函数找到源字符串中,你要替换的字符串。该函数裂衡咐返回要替换的字符串的指针。然后将替肆纯换的字符拦中串赋值给该指针的位置。

回答3:

替换和被替换的字符串长度相等?代码:

#include
#include
int main()
{
char data[] = "世携abc1234567890efg";
char *from = "或芹1234567890";
char *to = "0123456789";
char *p = strstr(data, from);
if(p){
memcpy(p, to, strlen(to));
}

printf("%s\n"搜团伏, data);
return 0;
}