//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;
}