【发布时间】:2014-11-07 21:26:22
【问题描述】:
我想创建这个函数,但是……参数列表不能这样传递。解决这个问题的正确方法是什么?
是的,我知道有些编译器提供了“asprintf”。我的问题不是我应该使用什么函数,而是如何让这样的参数传递起作用。
// Allocates a formmated string
char *msprintf(const char *format, ...)
{
int size = snprintf(NULL, 0, format, ...);
char *buf = (char*)malloc(size);
snprintf(buf, size, format, ...);
return buf;
}
【问题讨论】:
-
在我有限的经验中,va_args 是我认为的唯一方法。
-
使用
vsnprintf(3)。
标签: c