因此,我發現自己希望能夠通過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