怎么获得可变参数函数的缓存?
例如一个这样的函数:
void execute(const char *fmt, ...)
{
char buf[1024] = {0};
va_list arg_ptr;
va_start(arg_ptr, fmt);
vsprintf(buf, fmt, arg_ptr);
va_end(arg_ptr);
}
这里一般是用vsprintf把缓存写到一个内存里,但是不知道缓存长度,所以事先也不知道如何声明内存长度,只好用一个通用的1024字节的内存了,如果缓存长度超过1024,那么vsprintf就失败了啊,请问这问题怎么解决啊