memmove_s函数
概要:
#define __STDC_WANT_LIB_EXT1__ 1 #include <string.h> errno_t memmove_s(void *s1, rsize_t s1max, const void *s2, rsize_t n);
描述:
该函数从参数s2指向的对象复制n个字符到参数s1指向的对象。
整个复制过程就像先从参数s2指向的对象将n个字符复制到一个临时数组(该临时数组与参数s1、s2指向的对象均不重叠。),然后再从临时数组将n个字符复制到参数s1指向的对象。参数s1、s2指向的对象可以重叠。
运行约束:
参数s1和参数s2不能是空指针。参数s1max和参数n应不大于宏RSIZE_MAX。参数n应不大于参数s1max。
在存在运行约束冲突的情况下,如果参数s1不是空指针并且参数s1max不大于宏RSIZE_MAX,函数向参数s1指向对象的前s1max个字符存储0。
参数:
void *s1
指向目标对象的指针,复制的内容将存入该对象。
rsize_t s1max
目标对象中修改的最大字符数。
const void *s2
指向源对象的指针,将从该对象复制内容。
rsize_t n
复制的字符数。
返回值:
如果不存在运行约束冲突,函数返回0;否则函数返回非0值。
范例:
|
|
输出:
xiaoer
注:使用Visual Studio编译。
相关内容:
memmove | 移动内存区域字符序列的函数。 |
memcpy_s | 复制内存区域字符序列的安全函数。 |
strcpy_s | 复制字符串的安全函数。 |
strncpy_s | 从字符串中复制限定数量字符的安全函数。 |