getopt()和getopt_long()用法
參考鏈接:
http://home.eeworld.com.cn/home.php?mod=space&do=blog&id=43897&uid=101752
?http://blog.csdn.net/cashey1991/article/details/7942809
如果在LINUX環境下面你想做與用戶交互的程序開發的話,這個函數我想會對你有很大的幫助!~
getopt用法
有關系統調用getopt:
聲明:
???????? #include <unistd.h>
???????? int getopt(int argc, char *const argv[], const char *optstring);
???????? extern char *optarg;
???????? extern int optind, opterr, optopt;
使用方法:在while循環中反復調用,直到它返回-1。每當找到一個有效的選項字母,它就返回這個字母。如果選項有參數,就設置optarg指向這個參數。
當程序運行時,getopt()函數會設置控制錯誤處理的幾個變量:
char *optarg ──如果選項接受參數的話,那么optarg就是選項參數。
int optind──argv的當前索引,當while循環結束的時候,剩下的操作數在argv[optind]到argv[argc-1]中能找到。
int opterr──當這個變量非零(默認非零)的時候,getopt()函數為"無效選項”和“缺少選項參數”這兩種錯誤情況輸出它自己的錯誤消息。可以在調用getopt()之前設置opterr為0,強制getopt()在發現錯誤時不輸出任何消息。
int optopt──當發現無效選項的進修,getopt()函數或者返回'?'字符,或者返回字符':'字符,并且optopt包含了所發現的無效選項字符。
表頭文件:#include <unistd.h>???
????
??? 函數聲明:int getopt(int argc,char???? *const argv[],const char *optstring);???
??? 函數說明:getopt()用來分析命令行參數。參數argc和argv是由main()傳遞的參數個數和內容。參數optstring???? 則代表欲處理的選項字符串。此函數會返回在argv???? 中下一個的選項字母,此字母會對應參數optstring???? 中的字母。如果選項字符串里的字母后接著冒號“:”,則表示還有相關的參數,全域變量optarg???? 即會指向此額外參數。如果getopt()找不到符合的參數則會印出錯信息,并將全域變量optopt設為“?”字符,如果不希望getopt()印出錯信息,則只要將全域變量opterr設為0即可。???
????
?返回值:如果找到符合的參數則返回此參數字母,如果參數不包含在參數optstring的選項字母則返回“?”字符,分析結束則返回-1。
轉載于:https://www.cnblogs.com/tingjie-word/p/6083762.html
總結
以上是生活随笔為你收集整理的getopt()和getopt_long()用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络赛用头文件
- 下一篇: BZOJ 3173: [Tjoi2013