C字符串替换函数

下面的函数改写自某个前辈所写的函数:

/****************************************************************************
*   函数名:_ReplaceStr
*   作者:  
*   日期:  
*   输入参数:char* sSrc 原字符串
*            char* sMatchStr 特征字符串
*            char* sReplaceStr 将要替换的字符串
*            bool bReplaceAll 为true时替换所有子串,为false时只替换第一个匹配的子串
*   输出参数:无
*   返回值:int类型
*           0:成功
*           -1:传入的字符串指针为空
*           -2:没有找到匹配的字符串
*   功能: 将字符串sSrc中的所有sMatchStr子串全部替换为sReplaceStr字符串
*****************************************************************************/
int _ReplaceStr(char *sSrc/*IN OUT*/, char *sMatchStr/*IN*/, char *sReplaceStr/*IN*/, bool bReplaceAll/*IN*/)
{
    if(NULL == sSrc || NULL == sMatchStr ||NULL == sReplaceStr )
        return -1;
    int  StringLen;
    char caNewString[DEFAULT_BUF_LEN];

    char *FindPos = strstr(sSrc, sMatchStr);
    if(NULL == FindPos)
        return -2;

    while(FindPos)
    {
        memset(caNewString, 0, sizeof(caNewString));
        StringLen = FindPos - sSrc;
        strncpy(caNewString, sSrc, StringLen);
        strcat(caNewString, sReplaceStr);
        strcat(caNewString, FindPos + strlen(sMatchStr));
        strcpy(sSrc, caNewString);
        if(!bReplaceAll)
            break;
        FindPos = strstr(sSrc, sMatchStr);
    }

    return 0;
}
相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金