C字符串替换函数

来源:互联网 发布:java输出到控制台 编辑:程序博客网 时间:2024/06/02 08:48

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

/*****************************************************************************   函数名:_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;}



原创粉丝点击