美文网首页
c 替换字符串

c 替换字符串

作者: 南娇 | 来源:发表于2021-03-09 17:24 被阅读0次
    char* str_replace(char* str,char* src,char* des){
        //返回的结果
        char* result = (char*)malloc((strlen(str) - strlen(src) + strlen(des))*sizeof(char));
        
        //先判断是否包被替换的字符串,返回的是要查找的字符串的首地址
        char* pos = strstr(str,src);
        if (!pos){
            //如果不包含直接返回
            return str;
        }
        //计算src的位置
        int start_end = pos - str;
        char* start = str_sub(str, 0, start_end);
    
        int end_start = start_end + strlen(src);
        char* end = str_sub(str, end_start, strlen(str));
    
        strcpy(result, start);
        strcat(result,des);
        strcat(result,end);
    
        return str_replace(result,src,des);
    }
    

    截取字符串

    /*
     截取字符串
    @str 要被截取的字符串
    @start 从什么位置开始截取
    @end 到哪个位置结束截取
    */
    char* str_sub(char* str,int start,int end){
    
        char* result = (char*)malloc((end - start)*sizeof(char));
        str += start;
        for (int i = 0; i < (end-start); i++)
        {
    
            result[i] = *str;
            str++;
    
        }
        result[(end - start)] = '\0';
        return result;
    }
    

    相关文章

      网友评论

          本文标题:c 替换字符串

          本文链接:https://www.haomeiwen.com/subject/wpjbqltx.html