所以我发现自己希望能用va_list迭代命令行参数,我相信我已经在某个地方看到了它。
我试过谷歌搜索无济于事。
有谁知道如何实现这一目标或知道是否可以实现?
答案 0 :(得分:8)
你做不到。 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
答案 1 :(得分:-1)