Fra*_* L. 1 c++ syslog parameter-passing
我尝试将可变参数列表传递给另一个函数。已经有一个非常相似的问题:如何将可变数量的参数传递给 printf/sprintf 但对我来说它不起作用。我不知道为什么。这是我的功能:
void printSyslogNotice(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
#ifdef __XENO__
rt_syslog(LOG_NOTICE, fmt, ap);
#else
syslog(LOG_NOTICE, fmt, ap);
#endif
va_end(ap);
}
Run Code Online (Sandbox Code Playgroud)
当我用以下方式调用它时:
printSyslogNotice("%s %i", "hello world", 5);
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:#010 -939524064
不用说,我想要这个输出:hello world 5
有人有想法吗?