为什么标准C里面没有字符串替换函数?
时间:2010-09-02 来源:light511
如题,我写了个函数自己解决这个问题,但效率不高:
//把字符串用单字符替换
int replacechar(char * src,char* ssub,char dsub)
{
int srclen=strlen(src);
int ssublen=strlen(ssub);
int index=0;
char * p=NULL;
p=src;
while(*p!='\0')
{
if((p=strstr(p,ssub))==NULL)
break;
if(*p!='\0')
{
index=p-src;
src[index]=dsub;
p=&(src[index++]);
while(index<srclen)
{
src[index]=src[index+ssublen-1];
index++;
}
src[index]='\0';
}
}
return 0;
}
{
int srclen=strlen(src);
int ssublen=strlen(ssub);
int index=0;
char * p=NULL;
p=src;
while(*p!='\0')
{
if((p=strstr(p,ssub))==NULL)
break;
if(*p!='\0')
{
index=p-src;
src[index]=dsub;
p=&(src[index++]);
while(index<srclen)
{
src[index]=src[index+ssublen-1];
index++;
}
src[index]='\0';
}
}
return 0;
}
相关阅读 更多 +