Stable Diffusion 如何生成字体拼图
C 语言版本的 string replace 函数 zeerd: 2023-3-28 15:4:36 Author: blog.csdn.net(查看原文) 阅读量:8 收藏

C 语言版本的 string replace 函数

zeerd: char * strreplace(const char * src, char * dst, size_t dst_size, const char * search, const char * replace_with) { char * replace_buf = (char *)malloc(dst_size); if (replace_buf) { memset(replace_buf, 0, dst_size); replace_buf[0] = 0; char *q = NULL, *p = NULL; if(src == dst){ q = strdup(src); p = q; } else { p = (char*)src; } char * pos = NULL; while ( (pos = strstr(p, search)) != NULL ) { size_t n = (size_t)(pos-p); strncat(replace_buf, p, n > dst_size ? dst_size : n); strncat(replace_buf, replace_with, dst_size-strlen(replace_buf)-1); p = pos + strlen(search); } snprintf(dst, dst_size, "%s%s", replace_buf, p); free(replace_buf); if(q != NULL) { free(q); } } return dst; } 这个函数在src和dst相同时会出错。来个修改之后的版本。


文章来源: https://blog.csdn.net/quaful/article/details/129816362
如有侵权请联系:admin#unsafe.sh