scanf, fscanf, vscanf, vfscanf - input FILE format conversion
#include <stdio.h>
int scanf(const char *restrict format, ...);
int fscanf(FILE *restrict stream,
const char *restrict format, ...);
#include <stdarg.h>
int vscanf(const char *restrict format, va_list ap);
int vfscanf(FILE *restrict stream,
const char *restrict format, va_list ap);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
The scanf() family of functions scans formatted
input like sscanf(3), but read from a FILE
. It
is very difficult to use these functions correctly, and it is preferable
to read entire lines with fgets(3) or
getline(3) and parse them later with
sscanf(3) or more specialized functions such as
strtol(3).
The scanf() function reads input from the standard
input stream stdin
and fscanf() reads input
from the stream pointer stream
.
The vfscanf() function is analogous to
vfprintf(3) and reads input from the stream pointer
stream
using a variable argument list of pointers (see
stdarg(3). The vscanf() function is
analogous to vprintf(3) and reads from the standard
input.
On success, these functions return the number of input items successfully matched and assigned; this can be fewer than provided for, or even zero, in the event of an early matching failure.
The value EOF is returned if the end of input is
reached before either the first successful conversion or a matching
failure occurs. EOF is also returned if a read error
occurs, in which case the error indicator for the stream (see
ferror(3)) is set, and errno
is set to
indicate the error.