`

C 字符串替换函数

阅读更多
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char* StrReplace(char*src,char*rpl,char*dest)
{
    char *temp,*buf,*str;
    int ind=0,i=0,next=0;
    size_t srcLen=0,destLen=0,rplen=0,len=0;
   
    srcLen=strlen(src);
    destLen=strlen(dest);
    rplen=strlen(rpl);
    buf=(char*)malloc(sizeof(char)*srcLen*2);
    strncpy(buf,src,srcLen);
    if (!rplen) return buf;
    temp=(char*)malloc(sizeof(char)*srcLen*2);
    strncpy(temp,src,srcLen);
    temp[srcLen]=0;   
    while ((str=strstr(temp+next,rpl)) != NULL) {
        ind=(int)(str-temp);
        next+=ind+destLen;
        i=ind;
        strncpy(buf+i, dest, destLen);
        i+=destLen;
        len=strlen(temp);
        strncpy(buf+i,temp+ind+rplen,len-ind+1);
        len=strlen(buf);
        strncpy(temp,buf,len);
        temp[len]=0;
    }
    free(temp);
    return buf;
}

在作项目过程中发现,C语言中并没有字符串替换相关的函数,所有就自己写了一个,不过此程序也存在一定的缺陷,就是字符串越界问题,因为根据项目的需求,我只是将替换后整个字符串的长度变成原字符串的两倍,不过这是有缺陷的,望大神们指点迷津,或以后有好的想法再做改编。另外,最后的返回值是动态申请的空间,调用完成之后需要将空间释放掉。
0
6
分享到:
评论

相关推荐

    C语言字符串替换函数strrpl支持中文汉字

    C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。

    C语言字符串处理函数

    几个字符串处理函数增强版 常用需求基本都能完成 已经编译成DLL 函数列表 兼容字符和串 void revstr char str 字符串反转 int substring char res int pos int len char substr 从pos开始取len个字符到substr中 ...

    Linux C字符串替换函数实例详解

    在Linux C编程中,处理字符串是一项常见的任务,而字符串替换函数是其中的关键组成部分。本文将深入探讨一个具体的C语言实现的字符串替换函数实例,帮助理解如何在C程序中实现这一功能。 首先,我们来看一下提供的...

    字符串替换函数基于C语言实现可运行于Linux

    本文将深入探讨如何在Linux环境中使用C语言实现一个字符串替换函数。首先,我们需要理解C语言中的字符串基础知识,然后我们将讨论如何创建这个实用的字符串替换功能,并通过makefile文件进行编译。 在C语言中,字符...

    C语言写字符串函数及任意个数求和

    字符串替换涉及到在字符串中找到特定字符或子串,并用新的字符或子串替换。标准库中没有提供这样的功能,所以我们需要编写自己的函数。一个简单的实现可能是遍历字符串,检查每个字符是否与目标字符匹配,如果匹配...

    字符串替换C程序

    C语言内没有字符串替换函数,此函数实现字符串替换

    C语言字符串处理函数扩展

    本篇将详细讲解在"C语言字符串处理函数扩展"这一主题中,可能涉及到的知识点。 首先,我们来看`stringAPIext.c`和`stringAPIext.h`这两个文件。`stringAPIext.c`通常包含实现这些扩展函数的代码,而`stringAPIext.h...

    字符串子串替换函数

    分享一下我写的 “字符串子串替换的函数 int replace_str(const char * src, const char * key_src, const char * key, char ** buf); int replace_count(const char * src, const char * key_src, int * n); int ...

    Oracle_Sql_中常用字符串处理函数

    5. 字符替换函数 Oracle Sql 提供了 REPLACE() 函数,用于将字符串中的某个字符替换为另一个字符。 示例:SELECT REPLACE('abcdce', 'bc', 'test') FROM dual; -- 返回 atestdce 6. ASCII 码函数 Oracle Sql ...

    asp字符串处理函数大全

    - **功能**: 在表达式中查找指定的子字符串,并用另一个子字符串替换。可选择性地替换特定数量的匹配项。 - **示例**: ```vb Dim OriginalString, NewString OriginalString = "Hello World! Hello Universe!" ...

    linux 下c写的字符串替换

    字符串操作是C语言编程中的基础部分,而字符串替换则是处理文本数据时常见的需求。本文将深入探讨如何在Linux下使用C语言实现字符串替换的功能。 首先,我们需要理解C语言中的字符串。在C语言中,字符串是由字符...

    字符串处理函数

    ### 字符串处理函数:C与C++的深入解析 #### C++字符串处理:`string`类的强大功能 在现代编程领域,字符串处理是不可或缺的一部分,尤其在C++中,`string`类提供了丰富的功能来简化字符串操作。下面将详细介绍几...

    C语言 字符串处理 统计,查找,替换,反转,比较

    C语言字符串处理 C语言字符串处理是指在C语言中对字符串进行操作和处理的过程。字符串是C语言中一种基本的数据类型,用于存储一系列字符。字符串处理是指对字符串进行各种操作,如统计、查找、替换、反转、比较等。...

    c语言字符串处理函数[参考].pdf

    通过这个简单的C语言程序,我们可以学习到如何使用基本的字符串处理函数,这对于软件开发来说是必不可少的基础知识。在实际开发中,字符串处理不仅限于这些基础操作,还可能涉及更复杂的操作,如字符串查找、替换、...

    javascript字符串替换函数如何一次性全部替换掉

    JS字符串替换函数:Replace(“字符串1″, “字符串2″) 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉,那么我们如何才能一次性全部替换掉了? ...

    c字符串解析处理功能函数集

    本压缩包包含了一组C字符串操作的功能函数,旨在提高代码的易用性和空间效率。下面将详细阐述这些函数可能涉及的知识点。 1. **字符串复制**: - `strcpy` 函数:用于将一个字符串(源地址`s`)完整地复制到另一个...

    QT中字符串的比较、查找、替换等操作 - 大存的博客1

    5. **字符串替换**: `replace()`函数可以用来替换字符串中的一部分,例如`"Marco is bad".replace("bad","good")`会将"bad"替换为"good",使得字符串变为"Marco is good"。 6. **去除字符串两端空白**: `...

    字符串相关函数介绍

    在C语言和许多其他编程语言中,有一系列专门用于处理字符串的函数,这些函数可以帮助我们高效地完成各种字符串操作。本篇文章将详细介绍一下三个重要的字符串相关函数:`strchr`、`strstr`以及`strtok`。 1. `...

    C语言小程序,统计字符串中字符出现频率,随后可以匹配替换指定字符

    然后,使用strReplace函数将替换字符串替换到原字符串中的指定部分。最后,输出了替换后的字符串。 小结 这个小程序实现了三个功能:统计字符串中字符出现频率、搜索匹配字符串指定字符和替换原字符串中指定字符。...

Global site tag (gtag.js) - Google Analytics