在网上看到别人写的replaceAll方法,感觉不太好,所以觉得自己写一个,因为时间仓促,如果有不对的地方请多多指教。
c代码如下:
#include <stdio.h>
#include <malloc.h>
#include <string.h>
char* replaceAll(char* src, char* find, char* replaceWith){
//如果find或者replace为null,则返回和src一样的字符串。
if(find == NULL || replaceWith == NULL){
return strdup(src);
}
//指向替换后的字符串的head。
char* afterReplaceHead = NULL;
//总是指向新字符串的结尾位置。
char* afterReplaceIndex = NULL;
//find字符串在src字符串中出现的次数
int count = 0;
int i,j,k;
int srcLen = strlen(src);
int findLen = strlen(find);
int replaceWithLen = strlen(replaceWith);
//指向src字符串的某个位置,从该位置开始复制子字符串到afterReplaceIndex,初始从src的head开始复制。
char* srcIndex = src;
//src字符串的某个下标,从该下标开始复制字符串到afterReplaceIndex,初始为src的第一个字符。
int cpStrStart = 0;
//获取find字符串在src字符串中出现的次数
count = getFindStrCount(src, find);
/