C 字符串替换
C语言没有提供写好的字符串替换函数,需要结合字符串查找、字符串拷贝以及字符串拼接等函数自行编写,示例代码如下:
// 将strRes中的from替换为to,替换成功返回1,否则返回0。
int StrReplace(char strRes[],char from[], char to[])
{
int i,flag = 0;
char *p,*q,*ts;
for(i = 0; strRes[i]; ++i)
{
if(strRes[i] == from[0])
{
p = strRes + i;
q = from;
while(*q && (*p++ == *q++));
if(*q == '\0')
{
ts = (char *)malloc(strlen(strRes) + 1);
strcpy(ts,p);
strRes[i] = '\0';
strcat(strRes,to);
strcat(strRes,ts);
free(ts);
flag = 1;
}
}
}
return flag;
}