void TRACE(LPCSTR szFormat, ...)
{
CHAR szBuffer[1024];
va_list pArgs;
va_start(pArgs, szFormat);
vsprintf(szBuffer, szFormat, pArgs);
va_end(pArgs);
OutputDebugString(szBuffer);
}
解析这种参数使用va_list宏,用法如下:
1. 声明va_list,
2. 使用va_start()取得参数"..."地址
3. 使用va_arg()取得下一参数地址 4. 使用va_end()结束解析
如
va_list args; //声明变量
va_start(args, before); //开始解析。args指向before后面的参数
参数类型 var=va_arg(args, 参数类型);//取下一个参数并返回。args指向下一个参数
va_end(args);