memset_s函数
概要:
#define __STDC_WANT_LIB_EXT1__ 1 #include <string.h> errno_t memset_s(void *s, rsize_t smax, int c, rsize_t n);
描述:
该函数将参数c的值(转换为unsigned char类型。)复制到参数s指向对象的前n个字符中。
与memset函数不同,对memset_s函数的任何调用都应严格按照ISO/IEC 9899:2018标准第5.1.2.3 Program execution节中描述的抽象机规则进行评估;也就是说,对memset_s函数的任何调用都应假定参数s和参数n指示的内存将来可以访问,因此包含参数c指示的值。
运行约束:
参数s不能是空指针。参数smax和参数n应不大于宏RSIZE_MAX。参数n应不大于参数smax。
在存在运行约束冲突的情况下,如果参数s不是空指针,参数smax不大于宏RSIZE_MAX,函数将向参数s指向对象的前smax个字符存入参数c的值(转换为unsigned char类型。)。
参数:
void *s
指向对象的指针。
rsize_t smax
参数s指向对象中可修改的最大字符数。
int c
填充字符,会转换为unsigned char类型。
rsize_t n
填充的字符数。
返回值:
如果不存在运行约束冲突,函数返回0;否则函数返回非0值。
范例:
|
|
可能输出:
$10000
注:测试时Visual Studio软件还未支持memset_s函数,以上例子仅供参考。
相关内容:
memset | 填充内存区域的函数。 |