欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

自定义printf写法

程序员文章站 2022-03-08 15:04:39
...

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);
}
相关标签: printf