2014-10-10 42 views
0

我知道如何使用getopt的接受命令行參數,像你如何使用可選和非可選參數?

./program -a yes -b no

什麼我目前要做的是接受命令行參數,其中一些是可選的,有些則不是。

例如:

./program argv[1] argv[2] -a yes -b no 

回答

0

選項多個可選參數之後可能是壞主意;不要設計這種命令行語法,如果你能幫助它的話。

也就是說,您可以在getopt之外自己解析參數,直到看到類似選項的東西(同時增加argv和遞減argc)。然後從該點起使用getopt作爲命令行的其餘部分。

僞代碼:

for (; *argv; argc--, argv++) { 
    if (argv looks like an option) 
    break; 

    process *argv somehow  
} 

now process with getopt(argc, argv, ...)