C语⾔字符串替换replace C语⾔字符串替换 replace
⽤的函数strlen 和mallo 实现c语⾔的replace
字符串replace函数int*replace(char*p,char*dest,char*target){
int d_=strlen(dest);int t_ =strlen(target);int p_ =strlen(p);
int compare = t_ - d_;
int index[ p_ / d_ +1];
int count=0;
for(int i = d_-1; i <p_ ;++i){
if(p[i]== dest[d_-1]){
int tmp=d_;
int ok =1;
for(int j = i; j >i-d_;--j){
tmp--;
if(dest[tmp]!= p[j]){ ok=0;};
}
if(ok){index[count]= i-d_+1;count++;}
}
}
int currentLen=p_+compare*count;
char*cc =(char*)malloc(( p_+compare*count +1)*sizeof(char));
int s=0,c=0;
for(int k =0; k < currentLen;){
if( index[c]==k){
for(int i =0; i < t_;++i){
cc[k]= target[i];
}
s+=d_;
k+=t_;
c++;
continue;
}
cc[k]= p[s];
s++;
k++;
}
cc[currentLen]='\0';
// printf("%s", cc);
return0;
}
喜欢的话请关注我,会不定时更新⼀些有⽤的东西
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论