vwscanf, vfwscanf, vswscanf, vwscanf_s, vfwscanf_s, vswscanf_s
| Defined in header  <wchar.h> | ||
| 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) | 
Reads data from the a variety of sources, interprets it according to format and stores the results into locations defined by vlist.
stream.buffer. Reaching the end of the string is equivalent to reaching the end-of-file condition for fwscanf- any of the arguments of pointer type is a null pointer
-  format,stream, orbufferis a null pointer
- the number of characters that would be written by %c, %s, or %[, plus the terminating null character, would exceed the second (rsize_t) argument provided for each of those conversion specifiers
- optionally, any other detectable error, such as unknown conversion specifier
 
- As all bounds-checked functions, vwscanf_s,vfwscanf_s, andvswscanf_sare only guaranteed to be available if __STDC_LIB_EXT1__ is defined by the implementation and if the user defines __STDC_WANT_LIB_EXT1__ to the integer constant 1 before including<wchar.h>.
Parameters
| stream | - | input file stream to read from | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| buffer | - | pointer to a null-terminated wide string to read from | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| format | - | pointer to a null-terminated wide string specifying how to read the input. The format string consists of 
 
 
 
 
 
 The following format specifiers are available: 
 For every conversion specifier other than  All conversion specifiers other than  If the length specifier  The conversion specifiers  The correct conversion specifications for the fixed-width integer types ( There is a sequence point after the action of each conversion specifier; this permits storing multiple fields in the same "sink" variable. When parsing an incomplete floating-point value that ends in the exponent with no digits, such as parsing "100er" with the conversion specifier %f, the sequence "100e" (the longest prefix of a possibly valid floating-point number) is consumed, resulting in a matching error (the consumed sequence cannot be converted to a floating-point number), with "r" remaining. Existing implementations do not follow this rule and roll back to consume only "100", leaving "er", e.g. glibc bug 1765 
 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| vlist | - | variable argument list containing the receiving arguments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Return value
Notes
All these functions may invoke va_arg, the value of arg is indeterminate after the return. These functions to not invoke va_end, and it must be done by the caller.
Example
| This section is incomplete Reason: no example | 
References
- 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)
 
See also
| (C95)(C95)(C95)(C11)(C11)(C11) | reads formatted wide character input from stdin, a file stream or a buffer (function) | 
| C++ documentation for vwscanf, vfwscanf, vswscanf | |