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
.
stdin
.stream
.buffer
. Reaching the end of the string is equivalent to reaching the end-of-file condition for fwscanf
%c
, %s
, and %[
conversion specifiers each expect two arguments (the usual pointer and a value of type rsize_t
indicating the size of the receiving array, which may be 1 when reading with a %lc into a single wide character) and except that the following errors are detected at runtime and call the currently installed constraint handler function: -
- any of the arguments of pointer type is a null pointer
-
format
,stream
, orbuffer
is 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 with all bounds-checked functions,
vwscanf_s
,vfwscanf_s
, andvswscanf_s
are 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 includingstdio.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 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vlist | - | variable argument list containing the receiving arguments |
Return value
EOF
if read failure occurs before the first receiving argument was assigned.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
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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/io/vfwscanf