我想包裝,看起來像一個功能:void dbgLog (tDbgLog *dbg, const char *mod, const char *func, const char *format,...)
和利用的vsnprintf()
,使之獲得通過調用另一個函數,我試過以下,但似乎並沒有正常工作:我該如何正確包裝動態數量的args函數?
void pMonDbgLog(const char *mod, const char *func, char* fmt, ...)
{
va_list args;
va_start(args,fmt);
dbgLog(g_pdbg,mod,func,fmt,args);
va_end(args);
}
我再次通過下面的宏訪問它:#define gDbgLog(fmt,...) pMonDbgLog(MODULE_NAME,__FUNCTION__,fmt, ##__VA_ARGS__)
但事實證明我的論據弄亂了。爲什麼這是我想知道的?