c语言实现 字符串替换函数,C语言函数实现 字符串替换

void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst)

{

char *pi, *po, *p;

int nSrcLen, nDstLen, nLen;

// 指向输入字符串的游动指针.

pi = pInput;

// 指向输出字符串的游动指针.

po = pOutput;

// 计算被替换串和替换串的长度.

nSrcLen = strlen(pSrc);

nDstLen = strlen(pDst);

// 查找pi指向字符串中第一次出现替换串的位置,并返回指针(找不到则返回null).

p = strstr(pi, pSrc);

if(p) {

// 找到.

while(p) {

// 计算被替换串前边字符串的长度.

nLen = (int)(p - pi);

// 复制到输出字符串.

memcpy(po, pi, nLen);

memcpy(po + nLen, pDst, nDstLen);

// 跳过被替换串.

pi = p + nSrcLen;

// 调整指向输出串的指针位置.

po = po + nLen + nDstLen;

// 继续查找.

p = strstr(pi, pSrc);

}

// 复制剩余字符串.

strcpy(po, pi);

}

else

{

// 没有找到则原样复制.

strcpy(po, pi);

}

}

阅读(6195) | 评论(0) | 转发(0) |

你可能感兴趣的:(c语言实现,字符串替换函数)