日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

getopt()和getopt_long()用法

發布時間:2024/8/26 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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()用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。