头文件:
#include <string.h>
memcpy()
用来复制内存,其原型为:
void * memcpy ( void * dest, const void * src, size_t num );
memcpy()
会复制src
所指的内存内容的前num
个字节到dest
所指的内存地址上。
memcpy()
并不关心被复制的数据类型,只是逐字节地进行复制,这给函数的使用带来了很大的灵活性,可以面向任何数据类型进行复制。
需要注意的是:
dest
指针要分配足够的空间,也即大于等于num
字节的空间。如果没有分配空间,会出现断错误。
dest
和src
所指的内存空间不能重叠(如果发生了重叠,使用memmove()
会更加安全)。
与strcpy()
不同的是,memcpy()
会完整的复制num
个字节,不会因为遇到“\0”
而结束。
文章1:https://www.runoob.com/cprogramming/c-function-memcpy.html
文章2:http://c.biancheng.net/cpp/html/155.html
文章3:https://blog.csdn.net/tigerjibo/article/details/6841531
【返回值】返回指向dest
的指针。注意返回的指针类型是void
,使用时一般要进行强制类型转换。