字符串查找并替换

来源:互联网 发布:mysql union or in 编辑:程序博客网 时间:2024/06/07 01:09
#include <stdio.h>#include <string.h>static char str[100];char *fun(char *src,char *des,char *mystr){    int a,b,c,d,e,f,i;    char *p;    a = strlen(src);//替换前总长度    b = strlen(des);//要被替换的长度    c = strlen(mystr);//替换的长度    p = strstr(src,des);    d =  a - b + c;//替换后的长度    if(p != NULL){        bzero(str,100);        e = p - src;//第一部分的长度        f = a - b - e;//第三部分的长度        for(i = 0;i < e;i++)//第一部分复制        str[i] = *(src + i);        for(i = 0;i < c;i++)//第二部分复制        str[i+e] = *(mystr + i);        for(i = 0;i < f;i++)//第三部分复制        str[i+e+c] = *(src + e + b + i);        str[d] = '\0';        char p[100];        strcpy(p,str);        return fun(p,des,mystr);    }else    return str;}int main(int argc,char **argv){       if(argc < 4){        printf("请输入目标字符串,被替换的字符串,替换的字符串\n");        return -1;    }    if(strstr(argv[1],argv[2]) == NULL)    {        printf("没有你要替换的字符串\n");        return -1;    }    char p[100];    strcpy(p,fun(argv[1],argv[2],argv[3]));    printf("%s\n",str);    return 0;}
原创粉丝点击