char *strrpc(char *str,char *oldstr,char *newstr){
char bstr[strlen(str)];//转换缓冲区
memset(bstr,0,sizeof(bstr));
for(int i = 0;i < strlen(str);i++){
if(!strncmp(str+i,oldstr,strlen(oldstr))){//查找目标字符串
strcat(bstr,newstr);
i += strlen(oldstr) - 1;
}else{
strncat(bstr,str + i,1);//保存一字节进缓冲区
}
}
strcpy(str,bstr);
return str;
}
int main(void)
{
char str[] = "Hello,中国!\n";
strrpc(str,"中国","世界");
printf("%s",str);
strrpc(str,"Hello","你好");
printf("%s",str);
strrpc(str,"你好,世界","Hello,world");
printf("%s",str);
return 0;
}
头文件自行添加
网友评论