va_list vlist;
va_start(vlist, pszFormat); // pszFormat 表示 ... 的前一个参数
va_end(vlist);
其中:
typedef char * va_list
#define va_start _crt_va_start
#define va_arg _crt_va_arg
#define va_end _crt_va_end
#define _crt_va_start(ap,v) ( ap = (va_list)_ADDRESSOF(v) + _INTSIZEOF(v) )
#define _crt_va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )
#define _crt_va_end(ap) ( ap = (va_list)0 )
当要取其中的值时,如下:
double d = va_arg(vlist, double);
requir header : <stdio.h> and <stdarg.h>