如果我有一个 va_list 我知道如何提取它的所有元素:
void printInts(int n,...)
{
va_list va;
va_start(va, n);
for(unsigned int i=0; i<n; i++)
{
int arg=va_arg(va, int);
printf("%d",arg);
}
va_end(va);
}
因此,当我调用 printInts(3,1,2,3) 时,va_list 会填充所有参数。
但是如何在不使用 va_start 的情况下手动填充 va_list?我的意思是我想要类似的东西:
va_list va;
push_arg(va, int, 5); // And so on until I fill all parameters
...
我需要这个,因为有一个函数接受 va_list 作为参数,我不知道如何填充所有参数的 va_list。