Next: , Previous: Other Input Conversions, Up: Formatted Input


12.14.8 Formatted Input Functions

Here are the descriptions of the functions for performing formatted input. Prototypes for these functions are in the header file stdio.h.

— Function: int scanf (const char *template, ...)

The scanf function reads formatted input from the stream stdin under the control of the template string template. The optional arguments are pointers to the places which receive the resulting values.

The return value is normally the number of successful assignments. If an end-of-file condition is detected before any matches are performed, including matches against whitespace and literal characters in the template, then EOF is returned.

— Function: int wscanf (const wchar_t *template, ...)

The wscanf function reads formatted input from the stream stdin under the control of the template string template. The optional arguments are pointers to the places which receive the resulting values.

The return value is normally the number of successful assignments. If an end-of-file condition is detected before any matches are performed, including matches against whitespace and literal characters in the template, then WEOF is returned.

— Function: int fscanf (FILE *stream, const char *template, ...)

This function is just like scanf, except that the input is read from the stream stream instead of stdin.

— Function: int fwscanf (FILE *stream, const wchar_t *template, ...)

This function is just like wscanf, except that the input is read from the stream stream instead of stdin.

— Function: int sscanf (const char *s, const char *template, ...)

This is like scanf, except that the characters are taken from the null-terminated string s instead of from a stream. Reaching the end of the string is treated as an end-of-file condition.

The behavior of this function is undefined if copying takes place between objects that overlap—for example, if s is also given as an argument to receive a string read under control of the ‘%s’, ‘%S’, or ‘%[’ conversion.

— Function: int swscanf (const wchar_t *ws, const char *template, ...)

This is like wscanf, except that the characters are taken from the null-terminated string ws instead of from a stream. Reaching the end of the string is treated as an end-of-file condition.

The behavior of this function is undefined if copying takes place between objects that overlap—for example, if ws is also given as an argument to receive a string read under control of the ‘%s’, ‘%S’, or ‘%[’ conversion.