void printLine(const wchar_t* str, ...)
{
// have to do something to make it work
wchar_t buffer[2048];
_snwprintf(buffer, 2047, ????);
// work with buffer
}
printLine(L"%d", 123);
我试过了
va_list vl;
va_start(vl,str);
和类似的事情,但我没有找到解决方案。
最佳答案
这是一个执行此操作的简单C代码,您必须包括stdarg.h才能使它起作用。
void panic(const char * fmt,...){
char buf [50];
va_list argptr;/*在此处设置变量参数列表*/
va_start(argptr,fmt);/*启动变量参数*/
vsprintf(buf,fmt,argptr);/*将变量参数打印到缓冲区*/
va_end(argptr);/*表示变量参数处理的结束*/
fprintf(stderr,buf);/*将消息打印到stderr */
退出(-1);
}
典型的调用是
panic(“找不到文件%s\n”,文件名);/*假设file_name是“foobar” */
/*输出为:
找不到文件foobar
*/
希望这可以帮助,
此致,
汤姆
关于c++ - 是否可以直接传递C省略号调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2177209/