C语言中memcpy()和memcpy_s()的区别

1、memcpy()函数

原型:extern void *memcpy(void *dest, void *src, unsigned int count);

用法:#include "string.h"

功能:由src所指向内存区域复制count个字节到dest指向的内存区域。

返回值:函数返回指向dest的指针

注意:src和dest所指向的内存区域不能重叠

如果目标内存区域dest已有数据,执行memcp后,将覆盖count个字节的原有数据。

memcpy的操作对象不局限于某一类数据类型,只要能给出对象的其实地址和内存长度信息,并且对象具有可操作性即可。

 

2、memcpy_s()函数

原型:errno_t memcpy_s(

             void *dest,

             size_t numberOfElements,

             const void *src,

             size_t count

);

参数说明:

dest: 目标地址

numberOfElements: 目标dest的size

src: 源地址

count: 要复制的字节数

注意:要保证numberOfElements >= count。

返回值:成功时返回0,错误返回非零值。

你可能感兴趣的:(C语言小结)