内存拷贝CopyMemory与MoveMemory

CopyMemory是一个Windows API函数,它能将一块内存数据从一个位置复制到另一个位置;

函数原型:

void CopyMemory(
PVOID  Destination,    //要复制内存块的目的地址。
const VOID   *Source,   //要复制内存块的源地址。
 SIZE_T Length          //指定要复制内存块的大小,单位为字节
);

该函数没有返回值

如果目的块与源块有交叠,结果是不可预料的,因为CopyMemory没有考虑重叠的部分,因此他不能保证重叠部分是否被复制,

可以使用MoveMemory可以解决这个问题

MoveMemory函数原型

VOID RtlMoveMemory(
VOID UNALIGNED *Destination,       //要复制内存块的目的地址。
const VOID UNALIGNED *Source,    //要复制内存块的源地址。
SIZE_T Length                                    //指定要复制内存块的大小,单位为字节
);

该函数没有返回值

发布了114 篇原创文章 · 获赞 120 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/alzzw/article/details/103803046