c语言字符串的替换将有什么区别,[原]C语言字符串替换函数(strrpl)

本文介绍了一个用于字符串替换的C语言函数实现。该函数接受源字符串、目标字符串、替换字符串等参数,并将所有匹配的子串替换为指定的目标字符串。文章详细解释了函数的工作原理及其实现细节。

// 参数说明:

// in, 源字符串

// out, 存放最后结果的字符串

// outlen,out最大的大小

// src,要替换的字符串

// dst,替换成什么字符串

char *strrpl(char *in, char *out, int outlen, const char *src, char *dst)

{

char *p = in;

unsigned int len = outlen - 1;

// 这几段检查参数合法性

if((NULL == src) || (NULL == dst) || (NULL == in) || (NULL == out))

{

return NULL;

}

if((strcmp(in, "") == 0) || (strcmp(src, "") == 0))

{

return NULL;

}

if(outlen <= 0)

{

return NULL;

}

while((*p != '\0') && (len > 0))

{

if(strncmp(p, src, strlen(src)) != 0)

{

int n = strlen(out);

out[n] = *p;

out[n + 1] = '\0';

p++;

len--;

}

else

{

strcat_s(out, outlen, dst);

p += strlen(src);

len -= strlen(dst);

}

}

return out;

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值