来源
memcpy_s、 wmemcpy_s源于memcpy、 wmemcpy,并且是它们的安全版本,安全性体现在memcpy_s、 wmemcpy_s函数定义中加入了目标缓冲区的大小。
功能
memcpy_s 复制 src 的 count 字节到 dest; wmemcpy_s 复制 count 宽字符 (两个字节)。 如果源和目标重叠, memcpy_s 行为不确定。 使用 memmove_s 处理重叠区域。
函数声明
具体的函数声明如下:
errno_t memcpy_s(
void *dest,
size_t numberOfElements,
const void *src,
size_t count
);
errno_t wmemcpy_s(
wchar_t *dest,
size_t numberOfElements,
const wchar_t *src,
size_t count
);
它的参数可理解为:
-
dest
新的缓冲区,即目标地址 -
numberOfElements
目标缓冲区的大小 -
src
要复制的缓冲区地址,及源地址 -
count
需要拷贝的源字符个数
返回值
成功–0
失败–错误代码
小结
memcpy_s 复制 src 的 count 字节到 dest; wmemcpy_s 复制 count 宽字符 (两个字节)。 如果源和目标重叠, memcpy_s 行为不确定。memcpy_s与wmemcpy_s的安全性在于以确保目标缓冲区的源缓冲区大小,可以防止复制溢出。
本文介绍了memcpy_s和wmemcpy_s这两个源自C标准库的安全版本函数,它们用于防止缓冲区溢出,通过检查目标缓冲区大小确保数据安全复制。重点讲解了函数参数、行为及返回值,并提到了重叠源目标时的处理策略。

2151

被折叠的 条评论
为什么被折叠?



