int vprintf(const char *format, va_list arg)
发送格式化输出到stdout使用一个参数列表传递给它。printf就是用vprintf写的。定义自己的printf函数ETRACE如下:
void ETRACE(const char* strLogStr,...)
{
va_list args;
va_start(args, strLogStr);
#ifdef QT_DEBUG
QString iMsg;
iMsg = QString().vsprintf(strLogStr, args);
qDebug(iMsg.toStdString().c_str());
#else
vprintf(strLogStr,args);
#endif
va_end(args);
}
类似实例
#include <stdio.h>
#include <stdarg.h>
void WriteFrmtd(char *format, ...)
{
va_list args;
va_start(args, format);
vprintf(format, args);
va_end(args);
}
int main ()
{
WriteFrmtd("%d variable argument\n", 1);
WriteFrmtd("%d variable %s\n", 2, "arguments");
return(0);
}