C 字符串替换

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

猜你喜欢

转载自blog.csdn.net/qq_35308053/article/details/118101860