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

例如字符串”abc1234567890efg“中1234567890用另外一个字符串“0123456789”里替换... 例如字符串”abc1234567890efg“中1234567890用另外一个字符串“0123456789”里替换 展开
 我来答
145飞雪090
推荐于2016-10-09 · TA获得超过621个赞
知道小有建树答主
回答量:282
采纳率:100%
帮助的人:158万
展开全部
几天前回答过一样的问题,数字也可以的,我测试过了。长度不同也可以。
#include <stdio.h>
#include <string.h>
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<lengthch;i++)
{ if(*q!=change[i])
{ flag=0;
break;
}
else q++;
}
if(flag==1)
{ for(i=0;i<lengthre;i++)
s[j++]=replace[i];
p=q-1;
}
}
else s[j++]=*p;
}
s[j]='\0';
puts(s);
}

参考资料: http://zhidao.baidu.com/question/406414478.html?oldq=1

yiye242
2012-04-07 · TA获得超过340个赞
知道答主
回答量:130
采纳率:0%
帮助的人:202万
展开全部
用char *strstr(const char *str, const char *strSearch ); 函数找到源字符串中,你要替换的字符串。该函数返回要替换的字符串的指针。然后将替换的字符串赋值给该指针的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-07
展开全部
替换和被替换的字符串长度相等?代码:

#include <stdio.h>
#include <string.h>
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;
}
追问
是的,两个字符串长度相等
追答
那这样就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式