可变参数不能直接传递,可以借用 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;
}