题
在阅读有关memmove的时候,我读到它可以处理 内存重叠但是我无法获得两个字符串之间如何发生memmory重叠,并且该函数如何仍然正确复制内存块。
解决方案
“内存重叠”本身不会发生。是你可以提供的 memmove
与重叠的内存区域功能。将两个指针纳入 相同 数组,您可以轻松地将重叠的内存区域结合在一起。
当然,您还可以轻松地通过工会创建重叠的对象。
尚不清楚您在问题的第二部分中的含义(“该函数如何仍然正确复制内存块”)。您在哪里看到问题?
其他提示
memmove(p+1, p, 42);
这需要从末尾开始移动字节。 memcpy()弄得一团糟。
不隶属于 StackOverflow