#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语言中并没有字符串替换相关的函数,所有就自己写了一个,不过此程序也存在一定的缺陷,就是字符串越界问题,因为根据项目的需求,我只是将替换后整个字符串的长度变成原字符串的两倍,不过这是有缺陷的,望大神们指点迷津,或以后有好的想法再做改编。另外,最后的返回值是动态申请的空间,调用完成之后需要将空间释放掉。
分享到:
相关推荐
C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。
几个字符串处理函数增强版 常用需求基本都能完成 已经编译成DLL 函数列表 兼容字符和串 void revstr char str 字符串反转 int substring char res int pos int len char substr 从pos开始取len个字符到substr中 ...
在Linux C编程中,处理字符串是一项常见的任务,而字符串替换函数是其中的关键组成部分。本文将深入探讨一个具体的C语言实现的字符串替换函数实例,帮助理解如何在C程序中实现这一功能。 首先,我们来看一下提供的...
本文将深入探讨如何在Linux环境中使用C语言实现一个字符串替换函数。首先,我们需要理解C语言中的字符串基础知识,然后我们将讨论如何创建这个实用的字符串替换功能,并通过makefile文件进行编译。 在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 ...
5. 字符替换函数 Oracle Sql 提供了 REPLACE() 函数,用于将字符串中的某个字符替换为另一个字符。 示例:SELECT REPLACE('abcdce', 'bc', 'test') FROM dual; -- 返回 atestdce 6. ASCII 码函数 Oracle Sql ...
- **功能**: 在表达式中查找指定的子字符串,并用另一个子字符串替换。可选择性地替换特定数量的匹配项。 - **示例**: ```vb Dim OriginalString, NewString OriginalString = "Hello World! Hello Universe!" ...
字符串操作是C语言编程中的基础部分,而字符串替换则是处理文本数据时常见的需求。本文将深入探讨如何在Linux下使用C语言实现字符串替换的功能。 首先,我们需要理解C语言中的字符串。在C语言中,字符串是由字符...
### 字符串处理函数:C与C++的深入解析 #### C++字符串处理:`string`类的强大功能 在现代编程领域,字符串处理是不可或缺的一部分,尤其在C++中,`string`类提供了丰富的功能来简化字符串操作。下面将详细介绍几...
C语言字符串处理 C语言字符串处理是指在C语言中对字符串进行操作和处理的过程。字符串是C语言中一种基本的数据类型,用于存储一系列字符。字符串处理是指对字符串进行各种操作,如统计、查找、替换、反转、比较等。...
通过这个简单的C语言程序,我们可以学习到如何使用基本的字符串处理函数,这对于软件开发来说是必不可少的基础知识。在实际开发中,字符串处理不仅限于这些基础操作,还可能涉及更复杂的操作,如字符串查找、替换、...
JS字符串替换函数:Replace(“字符串1″, “字符串2″) 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉,那么我们如何才能一次性全部替换掉了? ...
本压缩包包含了一组C字符串操作的功能函数,旨在提高代码的易用性和空间效率。下面将详细阐述这些函数可能涉及的知识点。 1. **字符串复制**: - `strcpy` 函数:用于将一个字符串(源地址`s`)完整地复制到另一个...
5. **字符串替换**: `replace()`函数可以用来替换字符串中的一部分,例如`"Marco is bad".replace("bad","good")`会将"bad"替换为"good",使得字符串变为"Marco is good"。 6. **去除字符串两端空白**: `...
在C语言和许多其他编程语言中,有一系列专门用于处理字符串的函数,这些函数可以帮助我们高效地完成各种字符串操作。本篇文章将详细介绍一下三个重要的字符串相关函数:`strchr`、`strstr`以及`strtok`。 1. `...
然后,使用strReplace函数将替换字符串替换到原字符串中的指定部分。最后,输出了替换后的字符串。 小结 这个小程序实现了三个功能:统计字符串中字符出现频率、搜索匹配字符串指定字符和替换原字符串中指定字符。...