我有一個函數如下printf喜歡的行爲?
extern "C" int FuncTrace(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
return printf(fmt, args);
}
如果我打印一些事情上的控制檯下面,它不工作?
FuncTrace(" %s \n", __PRETTY_FUNCTION__);
有人可以幫我糾正FuncTrace()嗎?
我有一個函數如下printf喜歡的行爲?
extern "C" int FuncTrace(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
return printf(fmt, args);
}
如果我打印一些事情上的控制檯下面,它不工作?
FuncTrace(" %s \n", __PRETTY_FUNCTION__);
有人可以幫我糾正FuncTrace()嗎?
如果你想在一個va_list
僞參數來傳遞您需要的vprintf
功能?
您似乎認爲printf()
接受va_list
作爲其第一個參數。它不,它想要一個字符串。您需要使用vprintf()
:
return vprintf(fmt, args);
你的意思是在你的FuncTrace
功能使用vprintf
而不是printf
:
return vprintf(fmt, args);
下次請包括錯誤信息:) – 2012-03-30 15:08:38
沒有錯誤。 – MacGeek 2012-03-30 15:09:14
真的嗎?即使有'-Wall'? – 2012-03-30 15:09:40