Syntaxe :
#include <cstdarg> #include <cstdio> int vprintf(char *format, va_list arg_ptr); int vfprintf(FILE *flux, const char *format, va_list arg_ptr); int vsprintf(char *buf, char *format, va_list arg_ptr);
Ces fonctions sont très semblables à printf()
, fprintf()
et
sprintf()
. La seule différence est que la liste des arguments est
un pointeur vers une liste d'argument.
Le type va_list
est défini dans <cstdar>
et est également utilisé par
va_arg. Par exemple :
void erreur(char *fmt, ... ) { va_list args; va_start(args, fmt); fprintf(stderr, "Erreur: "); vfprintf(stderr, fmt, args); fprintf(stderr, "\n"); va_end(args); exit(1); }