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_arg
,arg
返回后的值是不确定的。这些函数不会调用va_end
,并且它必须由调用者完成。
例
参考
- C11 standard (ISO/IEC 9899:2011):