您的位置:首页 > 其它

趁着没发霉重写库函数之str_replace

2015-08-21 17:34 387 查看
//res 需要有足够的空间存储
int str_replace(char * src,char *substr,char * repstr,char *res)
{
char *p_srcstr=src,*p_substr=substr,*p_repstr=repstr,*p_resstr=res;
int sub_len = 0,count=0,flag=0;
if(!src || !substr || !repstr || !res)
return 0;
if(strlen(src) < strlen(substr))
return 0;
sub_len = strlen(substr);
while(*p_srcstr)
{
*p_resstr=*p_srcstr;
if(*p_srcstr == *p_substr)
{
p_srcstr++;
p_substr++;
p_resstr++;
printf("res1111=%s\n",res);
if( sub_len == (p_substr-substr))
{
strncpy(p_resstr-sub_len,repstr,strlen(repstr));
p_resstr += strlen(repstr)-sub_len;
p_substr = substr;
count ++;
}
}
else
{
p_srcstr++;
p_resstr++;
p_substr = substr;
}
}
return count;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: