gpt4 book ai didi

c - memmove (MSDN) - 敏捷的棕色狐狸/狗

转载 作者:行者123 更新时间:2023-11-30 20:25:42 24 4
gpt4 key购买 nike

我在这里阅读了有关 memmove 的 MSDN 文章:

http://msdn.microsoft.com/en-us/library/aa246469%28v=vs.60%29.aspx

我无法从他们的示例中看出 memmove 与 memcpy 有何不同。尽管这个例子是为了显示差异,但它们都给出了相同的结果。请帮忙。

最佳答案

这是一个扩展评论,而不是答案。 MSDN 的例子是一个糟糕的例子,被两个相似的源字符串“The Quick Brown Fox Jumps Over the Lazy Dog”和“The Quick Brown Dog Jumps Over the Lazy Fox”混淆了。当源和目标重叠时,我的 MS Visual C 使用 memcpy() 给出正确的结果,但正如 @PaulRoub 所写(现已删除),仅仅因为一个编译器正确编码并不意味着另一个编译器会正确编码.

#include <stdio.h>
#include <string.h>

int main()
{
char str [] = "abcdefghijklmnopqrstuvwxyz";
printf ("%s\n", str);

memcpy (str, str+1, 25); // copy down
printf ("%s\n", str);

memcpy (str+1, str, 25); // copy up
printf ("%s\n", str);

return 0;
}

程序输出

abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyzz
bbcdefghijklmnopqrstuvwxyz

关于c - memmove (MSDN) - 敏捷的棕色狐狸/狗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27746566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com