美文网首页
C语言编写的ReplaceAll函数的代码

C语言编写的ReplaceAll函数的代码

作者: 简简单单咦 | 来源:发表于2022-02-19 11:33 被阅读0次

    将开发过程中经常用到的一些内容做个珍藏,下边资料是关于C语言编写的ReplaceAll函数的内容。

    #include <stdio.h>

    #include <malloc.h>

    #include <string.h>

    if(find == NULL || replaceWith == NULL){

    return strdup(src);

    }

    int count = 0;

    int i,j,k;

    int srcLen = strlen(src);

    int findLen = strlen(find);

    int replaceWithLen = strlen(replaceWith);

    int cpStrStart = 0;

    count = getFindStrCount(src, find);

    if(count == 0){

    return strdup(src);

    }

    memset(afterReplaceHead, '0',sizeof(afterReplaceHead));

    for(i = 0,j = 0,k = 0;i!=srcLen;i++){

    if(src[i] == find[j]){

    if(j == 0){

    k = i;

    }

    if(j == (findLen-1)){

    j = 0;

    strncpy(afterReplaceIndex, srcIndex, i - findLen - cpStrStart + 1);

    afterReplaceIndex = afterReplaceIndex + i - findLen - cpStrStart + 1;

    srcIndex = srcIndex + i - findLen - cpStrStart + 1;

    cpStrStart = i + 1;

    strncpy(afterReplaceIndex, replaceWith, replaceWithLen);

    afterReplaceIndex = afterReplaceIndex + replaceWithLen;

    srcIndex = srcIndex + findLen;

    }else{

    j++;

    }

    }else{

    if(j != 0){

    i = k;

    }

    j = 0;

    }

    }

    strncpy(afterReplaceIndex, srcIndex, i - cpStrStart);

    return afterReplaceHead;

    }

    int count = 0;

    int findLen = strlen(find);

    while((position = strstr(position, find)) != NULL){

    count++;

    position = position + findLen;

    }

    return count;

    }

    int main(void){

    printf("%sn",r);

    free(r);

    return 0;

    }

    相关文章

      网友评论

          本文标题:C语言编写的ReplaceAll函数的代码

          本文链接:https://www.haomeiwen.com/subject/uptplrtx.html