现在的位置: 首页 > 综合 > 正文

也看vc下的memcpy和memmove的区别!

2013年08月17日 ⁄ 综合 ⁄ 共 337字 ⁄ 字号 评论关闭

 最近要自己写这两个函数,想参考一下网上的例子和评论,但是发现好多说的和试验结果不服!

 int a[10];
 for (int i=0; i< 10; i++)
 {
  a[i] = i;
 }
 int *retcpy = (int *)memcpy(&a[4], a, sizeof(int)*6);
 int *retmove = (int *)memmove(&a[4], a, sizeof(int)*6);

//有人说retcpy指向的内存区域会是:0123012301,retmove指向的内容会是:0123012345

//理由是memcpy不会在写之前复制,但是我在vc下的试验结果都是:0123012345

//而且各种试验的结果两个函数都时相同的。

//希望共同探讨其原因(网上的例子是在linux下做的)。

抱歉!评论已关闭.