0
int main(int argc, char *argv[])    // Send the path as a parameter
{
    char ptr2[BUFSIZE]; 
    va_list list;
    va_start(list,argv[]);
}

假设我得到了这个代码,如果我在这个 main 中有多个参数(比如我做了类似“./program car house student phone”之类的事情),每个参数都是不同的参数,我该如何把它们放在va_list?

我不知道我会收到多少个参数,但我需要把它放在一个 va_list 上,请帮助!谢谢!

4

1 回答 1

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论点main()

于 2013-02-14T06:06:33.603 回答