va_list是C语言中解决变参问题的一组宏,所在的头文件<strarg.h>
va_list使用说明:
(1)首先在函数中定义变量va_list; 这个变量是指向可变参数的指针;
(2)调用函数va_start()宏初始化刚定义的变量,使其指向可变参数;
(3)然后调用va_arg()宏返回可变参数;va_arg的第二个参数是你要返回参数的类型;
(4)当不关心返回的参数具体值的时候,可以使用vsprintf()函数将可变俩表拷贝到某个缓存中;
void SetErrInfo(int nErrNo, const char* sErrInfoFmt, ...)
{
va_list oArglst;
memset(&oArglst, 0, sizeof(va_list));
va_start(oArglst, sErrInfoFmt);
vsprintf(m_sErrInfo, sErrInfoFmt, oArglst);
va_end(oArglst);
}