将已知字符串s1中所有与字符串str1相同的字串替换成str2

以下程序所列函数 replace(char *s1,char *s2,char str1,char *str2)的功能是将已知字符串 s1 中
的所有与字符串 str1 相同(2)的子串替换成字符串 str2,并将替换后所生成的新的字符串
存于字符数组 s2 中。
说明:生成字符串 s2 的过程是一个循环,顺序访问字符串 s1 的每个字符(1);当从某个
字符开始不能构成与 str1 相同的子字符时,就把该字符拷贝到数组 s2(3),当从某个字符开
始能构成一个与 str1 相同的子字符串时,就将字符串 str2 的各字符拷贝到字符数组 s2,并
继续访问字符串 s1 中那个子串之后的字符,直至字符串 s1 被访问完毕,字符复制即告结束。

#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void replace(char *s1,char *s2,char *str1,char *str2)
{ char *t0,*t1,*t2;
    while(*s1!='\0')
    {
        for(t0=s1,t1=str1;*t1!='\0' && *t0==*t1 ; t0++,t1++);
        if(*t1!='\0')
            *s2++= *s1++; //字符串
        else {
            for(t1=str2;*t1!='\0';)
            *s2++=t1++;
            s1=t0;
        }
    }
    *s2='\0';
    printf("%s",s2);
}
int main()
{ char s1[]="abcdefg ababcd abab.";
    char s2[80];
    replace(s1,s2,"abc","ABCXYZ");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值