char* ReplaceSubStr(const char* str, const char* srcSubStr, const char* dstSubStr,char * out) {
    /*
       基本思路:迭代,然后使用双指针跟踪目标地址,和原地址,有点归并排序中合的味道。
       注意:python、C++、Java中都有相应比较方便的库,但是本题就是想考察造轮子的过程,但是
       可以使用C语言的库。
      */    
       int i;
    const char * ptr_str;
    char * ptr_out=out;
    for (i=0; i<strlen(str);) {
        if ((ptr_str = strstr(str + i, srcSubStr)) == NULL) {
            memcpy(ptr_out, str+i,strlen(str + i)+1);
            break;
        }
        else {
            memcpy(ptr_out, str + i, ptr_str - (str + i));
            ptr_out += ptr_str - (str + i);
            memcpy(ptr_out, dstSubStr, strlen(dstSubStr));
            ptr_out += strlen(dstSubStr);
            i = ptr_str - str + strlen(srcSubStr);
        }
    }
    return out;
}