wcsncpy_s函数
概要:
#define __STDC_WANT_LIB_EXT1__ 1 #include <wchar.h> errno_t wcsncpy_s(wchar_t * restrict s1, rsize_t s1max, const wchar_t * restrict s2, rsize_t n);
描述:
该函数从参数s2指向的数组中复制不超过n个连续宽字符(空宽字符后面的字符不会被复制。)到参数s1指向的数组中。如果未从参数s2指向的数组中复制空宽字符,函数将s1[n]设置为空宽字符。
wcsncpy_s函数返回时,参数s1指向的数组中wcsncpy_s函数写入的终止空宽字符(如果有)之后的所有元素值都是未指定的。
运行约束:
参数s1和参数s2不能是空指针。参数s1max和参数n应不大于RSIZE_MAX/sizeof(wchar_t)。参数s1max不等于0。如果参数n不小于参数s1max,参数s1max应大于wcsnlen_s(s2, s1max)。复制不应发生在重叠对象之间。
在存在运行约束冲突的情况下,如果参数s1不是空指针,参数s1max大于0且不大于RSIZE_MAX/sizeof(wchar_t),函数将s1[0]设置为空宽字符。
参数:
wchar_t * restrict s1
指向目标数组的指针,复制的宽字符将存入该数组。
rsize_t s1max
目标数组中修改的最大宽字符数。
const wchar_t * restrict s2
指向源数组的指针,将从该数组中复制宽字符。
rsize_t n
最多复制的宽字符数。
返回值:
如果不存在运行约束冲突,函数返回0;否则函数返回非0值。
范例:
|
|
输出:
东
西
南
北
中
空宽字符。
注:使用Visual Studio编译。
相关内容:
wmemcpy_s | 复制内存区域宽字符序列的安全函数。 |
wmemmove_s | 移动内存区域宽字符序列的安全函数。 |
wcscpy_s | 复制宽字符串的安全函数。 |