char *strrepl(char *dst, size_t dst_size, char *src, char *oldstr, char *newstr)
{
int idx = 0;
int oldlen = strlen(oldstr);
char *p = 0, *start = src;
char *end = src + strlen(src);
while(p = strstr(start, oldstr))
{
for(char *t = start; (t < p) && (idx < dst_size); t++) dst[idx++] = (*t);
for(char *t = newstr; (*t) && (idx < dst_size); t++) dst[idx++] = (*t);
start = p + oldlen;
}
if(start)
for(char *t = start; (t < end) && (idx < dst_size); t++) dst[idx++] = (*t);
dst[(idx < dst_size) ? idx : (dst_size-1)] = 0;
return dst;
}
string replace C version
最新推荐文章于 2023-05-03 15:56:18 发布