int vscanf(const char *format, __va_list arg);
vscanf reads input from the standard input stream under control of the string pointed to by format that specifies the admissible input sequences and how they are to be converted for assignment, using subsequent arguments as pointers to the objects to receive the converted input. Before calling vscanf, arg must be initialized by the va_start macro (and possibly subsequent va_arg calls). vscanf does not invoke the va_end macro.
If there are insufficient arguments for the format, the behavior is undefined.
vscanf returns the value of the macro EOF if an input failure occurs before any conversion. Otherwise, vscanf returns the number of input items assigned, which can be fewer than provided for, or even zero, in the event of an early matching failure.
vscanf is equivalent to scanf with the variable argument list replaced arg.