因此,我发现自己希望自己可以使用va_list遍历命令行参数,并且我相信我已经在某处看到了它。

我尝试了Google搜索,但无济于事。

有谁知道如何实现这一目标或是否可以实现?

最佳答案

你不能va_list适用于varargs函数,而main则不适用。但是,我想知道的是为什么您会喜欢这个(如果可能的话):

char *arg;
va_list vl;
va_start(vl, argc);
while ((arg = va_arg(vl, char*)))
    // use arg
va_end(vl);


对此:

for (int i = 0; i < argc; ++i)
   // use argv[i]


或这个:

for (char **arg = argv; *arg; ++arg)
   // use *arg

关于c - 如何在C中使用va_list遍历命令行参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12009593/

10-12 23:01