因此,我发现自己希望能够通过va_list迭代命令行参数,我相信我已经看到它在某个地方完成了。我该如何迭代命令行参数与va_list中的C
我试过Google搜索无济于事。
有谁知道如何做到这一点或知道它是否可以实现?
因此,我发现自己希望能够通过va_list迭代命令行参数,我相信我已经看到它在某个地方完成了。我该如何迭代命令行参数与va_list中的C
我试过Google搜索无济于事。
有谁知道如何做到这一点或知道它是否可以实现?
我已经阅读过这篇文章,但是感谢您发表。 – ManAmongHippos 2012-08-17 16:33:41
你不能。 va_list
适用于可变参数功能,其中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
有没有原因'argc'和'argv'不足? – hmjd 2012-08-17 16:28:41
我有一种感觉@ hmjd的建议是有点回答 – 2012-08-17 16:30:23
为什么这应该比简单的'for'循环更好? – 2012-08-17 18:38:18