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
-
本文发布于:2024-02-01 19:32:26,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170678714638948.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |