【发布时间】:2011-01-26 03:17:04
【问题描述】:
假设我想做这样的事情
void my_printf(char *fmt,...) {
char buf[big enough];
sprintf(buf,fmt,...);
}
将可变数量的参数直接传递给接受可变参数的函数的正确方法是什么?
【问题讨论】:
-
你怎么知道缓冲区足够大?并且你真的应该返回 sprintf() 执行的转换次数,否则用户无法知道该函数是否有效。
-
我删除了所有对说明我的观点不重要的内容。显然,在我的发布代码中,我更加彻底:)