vwscanf, vfwscanf, vswscanf, vwscanf_s, vfwscanf_s, vswscanf_s
定义于头文件 <wchar.h>
|
||
int vwscanf( const wchar_t *restrict format, va_list vlist ); |
(1) | (C99 起) |
int vfwscanf( FILE *restrict stream, const wchar_t *restrict format, va_list vlist ); |
(2) | (C99 起) |
int vswscanf( const wchar_t *restrict buffer, const wchar_t *restrict format, va_list vlist ); |
(3) | (C99 起) |
int vwscanf_s( const wchar_t *restrict format, va_list vlist ); |
(4) | (C11 起) |
int vfwscanf_s( FILE *restrict stream, const wchar_t *restrict format, va_list vlist ); |
(5) | (C11 起) |
int vswscanf_s( const wchar_t *restrict buffer, const wchar_t *restrict format, va_list vlist ); |
(6) | (C11 起) |
从各种源读取数据,按照 format
转译,并存储结果于 vlist
所定义的位置。
stream
读取数据。buffer
读取数据。抵达字符串结尾等价于 vfwscanf
的抵达文件尾条件。- 任何指针类型的参数是空指针
-
format
、stream
或buffer
是空指针 - %c 、 %s 或 %[ 要写入的字符数,加上空终止字符,会超过提供给这些转换指定符的第二个( rsize_t )参数
- 可选,任何其他可检测错误,例如未知转换指定符
- 同所有边界检查函数,
vwscanf_s, vfwscanf_s, vswscanf_s
仅若实现定义了 __STDC_LIB_EXT1__ ,且用户在包含<wchar.h>
前定义 __STDC_WANT_LIB_EXT1__ 为整数常量 1 才保证可用。
参数
stream | - | 要读取的输入文件流 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
buffer | - | 指向要读取的空终止字宽符串的指针 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
format | - | 指向指定读取输入方式的空终止宽字符串的指针。格式字符串由下列内容组成
下列格式指定符可用:
对于每个异于 所有异于 若不使用长度指定符 转换指定符 定宽整数类型( 在每个转换指定符后有一个序列点;这允许存储多个域到同一“池”变量中。 在分析以无数字指数为结尾的不完整浮点值,如以转换指定符 %f 分析 "100er" 时,消耗序列 "100e" (可能为合法浮点数的最长前缀),并导致匹配错误(被消耗序列不能转换成浮点数),而留下 "r" 。某些既存实现不遵守此规则并回滚,通过消耗 "100" 而留下 "er" ,例如 glibc 漏洞 1765 。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vlist | - | 含接收参数的可变参数列表 |
返回值
注意
所有这些函数调用 va_arg 至少一次,在返回后 vlist
的值不确定。这些函数不调用 va_end ,而这必须由调用方进行。
示例
本节未完成 原因:暂无示例 |
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.29.2.6 The vfwscanf function (p: 418)
- 7.29.2.8 The vswscanf function (p: 419)
- 7.29.2.10 The vwscanf function (p: 420)
- K.3.9.1.7 The vfwscanf_s function (p: 632-633)
- K.3.9.1.10 The vswscanf_s function (p: 635-636)
- K.3.9.1.12 The vwscanf_s function (p: 637)
- C99 standard (ISO/IEC 9899:1999):
- 7.24.2.6 The vfwscanf function (p: 364)
- 7.24.2.8 The vswscanf function (p: 365)
- 7.24.2.10 The vwscanf function (p: 366)
参阅
(C95)(C95)(C95)(C11)(C11)(C11) |
从stdin、文件流或缓冲区读取格式化宽字符输入 (函数) |