memcpy_s
在头文件中定义
(1)
void * memcpy(void * dest,const void * src,size_t count);
(直到C99)
void * memcpy(void * restrict dest,const void * restrict src,size_t count);
(自C99以来)
errno_t memcpy_s(void * restrict dest,rsize_t destsz,const void * restrict src,rsize_t count);
(2)
(自C11以来)
1)复制src指向的对象中的字符到dest指向的对象。 两个对象都被解释为无符号字符数组。
如果访问超出dest数组的末尾,则行为未定义。 如果对象重叠(这违反了限制合同)(自C99以来),行为未定义。 如果dest或src是空指针,则行为是未定义的。
2)与(1)相同,只是在运行时检测到以下错误并导致整个目标范围[dest,dest + destsz)被清零(如果dest和destsz都有效),并且调用当前 安装约束处理函数:
dest或者src是空指针
destsz或count大于RSIZE_MAX
count大于destsz(会发生缓冲区溢出)
源和目标对象重叠
如果由dest
参数
dest
-
指向要复制到的对象的指针
destsz
-