【发布时间】:2014-08-18 06:43:48
【问题描述】:
我尝试将可变参数列表传递给另一个函数。已经有一个非常相似的问题:How to pass variable number of arguments to 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);
}
当我调用它时:
printSyslogNotice("%s %i", "hello world", 5);
我得到这个输出:#010 -939524064
不用说,我想要这个输出:hello world 5
有人有想法吗?
【问题讨论】:
标签: c++ parameter-passing syslog