Syntaxe :
#include <cstdarg> #include <cstdio> int vscanf(char *format, va_list arg_ptr); int vfscanf(FILE *flux, const char *format, va_list arg_ptr); int vsscanf(char *buf, char *format, va_list arg_ptr);
Ces fonction sont très semblables à scanf()
, fscanf()
et
sscanf()
. La différence est que la liste des arguments est un pointeur
vers une liste d'arguments.
va_list
est définie dans <cstdarg>
et est également utilisée par va_arg.
Par exemple :
int scanf_(char *fmt, ... ) { va_list args; va_start(args, fmt); int r = vscanf(fmt, args); scanf("%*[^\n]") //Vide le buffer (tampon) va_end(args); return r; }