c++ 中怎么传递可变参数

     可变参数不能直接传递,可以借用 va_list

     void Log(const char * szFormat, ...);

     const QString GetFormatStr(const char * szFormat, va_list args );



void TVLogger::Log(const char * szFormat, ...)
{
  va_list args;
  va_start(args, szFormat);
  QString strFormat = GetFormatStr(szFormat, args);
  va_end(args);

  //Dosomething
}
const QString TVLogger::GetFormatStr(const char * szFormat, va_list args )
{
  char szBuff[MAX_BUFF_SIZE];
  memset(szBuff, 0, sizeof(szBuff));
  vsprintf(szBuff, szFormat, args) ;

  return QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") + " " + szBuff;
}

    



展开阅读全文

没有更多推荐了,返回首页