语法:
#include <cstdarg> #include <cstdio> int vscanf( char *format, va_list arg_ptr ); int vfscanf( FILE *stream, const char *format, va_list arg_ptr ); int vsscanf( char *buffer, char *format, va_list arg_ptr );
这些函数和 scanf(), fscanf() 和 sscanf()非常像。不同之处在于参数列表是一个指向参数链表的指针。 va_list 定义在 cstdarg, 同时被 va_arg 用到。例如:
int scanf_( char *fmt, ... ) { va_list args; va_start( args, fmt ); int r = vscanf(fmt, args); scanf("%*[^\n]"), getchar(); //Empty buffer va_end( args ); return r; }