int main(int argc, char *argv[]) // Send the path as a parameter
{
char ptr2[BUFSIZE];
va_list list;
va_start(list,argv[]);
}
假设我得到了这段代码,如果我在这个主要版本中得到多个参数(比如我做“./program car house student phone”之类的东西),他们每个人都会有不同的论点,我怎么把他们在va_list上?
我不知道我会收到多少论据,但我需要把它放在va_list上,请帮忙!谢谢!
答案 0 :(得分:2)
没有可移植的方法来做到这一点。但是,您可以通过编写类似
的内容将初始化的va_list
向下传递到另一个函数va_list
va_list args;
va_start(args, argv); // or maybe argc? Whatever, this doesn't make sense anyway
// read: "please don't litter production code with UB"
call_the_function(foo, args);
va_end(args);
顺便说一下:
我不知道我将收到多少论据。
这不是真的 - 这就是argc
的{{1}}参数的用途。