vfwscanf

vwscanf, vfwscanf, vswscanf, vwscanf_s, vfwscanf_s, vswscanf_s

Defined in header
int vwscanf( const wchar_t *restrict format, va_list vlist (1)(since C99)
int vfwscanf( FILE *restrict stream, const wchar_t *restrict format, va_list vlist (2)(since C99)
int vswscanf( const wchar_t *restrict buffer, const wchar_t *restrict format, va_list vlist (3)(since C99)
int vwscanf_s( const wchar_t *restrict format, va_list vlist (4)(since C11)
int vfwscanf_s( FILE *restrict stream, const wchar_t *restrict format, va_list vlist (5)(since C11)
int vswscanf_s( const wchar_t *restrict buffer, const wchar_t *restrict format, va_list vlist (6)(since C11)

从各种来源读取数据,根据其解释并将format结果存储到由其定义的位置vlist

1)从中读取数据stdin

2)从文件流中读取数据stream

3)从空终止的宽字符串中读取数据buffer。到达字符串的末尾等同于达到文件结束条件fwscanf

4-6)同(1-3),所不同的是%c%s%[转换说明每个期望两个参数(通常的指针和类型的值rsize_t指示所述接收阵列的大小,其可以是1附有%LC读取时成一个单一的宽字符),除了在运行时检测到以下错误并调用当前安装的约束处理函数:

  • 指针类型的任何参数都是空指针

由于所有的边界检查功能,vwscanf_s,vfwscanf_s,和vswscanf_s仅保证可供如果__STDC_LIB_EXT1__由实现所定义,并且如果用户定义__STDC_WANT_LIB_EXT1__的整数常数1,包括之前<wchar.h>。

参数

参数

返回值

1-3)成功分配的接收参数数目,或者EOF在分配第一个接收参数前发生读取失败。

4-6)与(1-3)相同,但是EOF如果存在运行时约束冲突,也会返回。

注意

所有这些函数都可以调用va_argarg返回后的值是不确定的。这些函数不会调用va_end,并且它必须由调用者完成。

参考

  • C11 standard (ISO/IEC 9899:2011):