字符串格式化,不定参数函数在unicode下出错?解决方案

字符串格式化,不定参数函数在unicode下出错??
void CmdOutput(TCHAR* fmt, ...)
{
TCHAR buffer[255];
va_list argptr;
int cnt;
va_start(argptr, fmt);
cnt = _vsntprintf(buffer, sizeof(buffer) / sizeof(TCHAR), fmt, argptr); 
va_end(argptr);
AfxMessageBox(buffer);
}

这样一个函数,在unicdoe编译,%d,%x,%s,很多都可以,但是%f的时候,将"%f"原样输出了
以前在多字节编译没问题的,请教各位?

------解决方案--------------------
晕, 为什么我可以呢?

请检查你的环境.
------解决方案--------------------
要define _UNICODE和UNICODE.
------解决方案--------------------
恭喜楼主,我来接……

------解决方案--------------------
接啊 :)
------解决方案--------------------
用宽字符串。呵呵