vfscanf, vscanf, vsscanf—format argument list #include <stdio.h>
#include <stdarg.h>
int vscanf(const char *fmt, va_list list);
int vfscanf(FILE *fp, const char *fmt, va_list list);
int vsscanf(const char *str, const char *fmt, va_list list);
int _vscanf_r(struct _reent *reent, const char *fmt,
va_list list);
int _vfscanf_r(struct _reent *reent, FILE *fp, const char *fmt,
va_list list);
int _vsscanf_r(struct _reent *reent, const char *str,
const char *fmt, va_list list);
Description
vscanf, vfscanf, and vsscanf are (respectively) variants
of scanf, fscanf, and sscanf. They differ only in
allowing their caller to pass the variable argument list as a
va_list object (initialized by va_start) rather than
directly accepting a variable number of arguments.
Returns
The return values are consistent with the corresponding functions:
vscanf returns the number of input fields successfully scanned,
converted, and stored; the return value does not include scanned
fields which were not stored.
If vscanf attempts to read at end-of-file, the return value
is EOF.
If no fields were stored, the return value is 0.
The routines _vscanf_r, _vfscanf_f, and _vsscanf_r are
reentrant versions which take an additional first parameter which points to the
reentrancy structure.
Portability
These are GNU extensions.
Supporting OS subroutines required: