【发布时间】:2015-03-01 01:04:54
【问题描述】:
我在这里阅读了有关 memmove 的 MSDN 文章:
http://msdn.microsoft.com/en-us/library/aa246469%28v=vs.60%29.aspx
我无法从他们的示例中看出 memmove 与 memcpy 有何不同。尽管示例是为了显示差异,但它们都给出了相同的结果。请帮忙。
【问题讨论】:
-
它们仅在源和目标重叠时有所不同。
-
是的 Barmar,但在重叠的例子中,我看不出有什么区别。
-
哦,谢谢你们的负面评价。建议的链接根本没有回答我的问题。我问的是 MSDN 上的文章,而不是函数本身。
-
文章中引用的结果不同:
Function: memmove with overlap … Result: The quick quick brown fox jumps over the lazy dog与Function: memcpy with overlap … Result: The quick quick brown dog jumps over the lazy fox。此外,在重叠数据上使用memcpy()会导致未定义的行为——包括“按预期工作”的可能性。 -
JonathanLeffler,非常感谢。几分钟前我得出了同样的结论。那是 MSDN 写的一篇糟糕的文章。