我一直在为 C/C++ 寻找类似 PHP 的str_replace(),但我发现只有为结果分配/重新分配缓冲区的解决方案。在嵌入式环境中,这并不总是可能的,字符串没有内存,甚至没有malloc()。所以我正在寻找一个函数,它使用相同的缓冲区,类似于strncat(),其中最大值。缓冲区大小作为参数给出:
void str_replace(char* search,char* replace,char* subject,int maxBufferSize);
诀窍是,我刚刚写了一个,我会在一分钟内发布。是的,这是回答我自己问题的典型案例,但我读过它是合法的。
无论如何,我会在最佳答案上按下接受按钮。我的解决方案已经过测试,希望效果很好,但还有改进的余地。我相信会有更好的答案。我可以等。