国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux環境-程序參數

2024-06-28 16:01:59
字體:
來源:轉載
供稿:網友

int main (int argc, char *argv[])

argc為參數的個數
argv存有輸入參數 第一個為程序自身的名字

例:

$ myPRog left right 'and center'

argc 為 4

argv 為 { "myprog", "left", "right", "and center" }

通常,通過一個以 ‘-’ 開頭的單字符或以“--”開頭的多字符命令行參數,改變程序的行為與設置一些選項

例:$ sort -r file         -r 參數實現了反向排序

       $ sort --help

另外如果需要,不帶后續參數的選項可以在一個‘-’后歸并到一起

例: 

       $ ls -lstr 等價于 ls -l -s -t -r

此外,有些程序可能會有不一樣的風格,getopt為解決這個問題,提供了一個優雅的方案

#include <unistd.h>

int getopt(int argc, char *const argv[], const char *optstring);

extern char *optarg;

extern int optind //在使用getopt處理參數結束后,optind會被指向所有剩余的非選項參數的起始地址

extern int opterr //如果opterr為非零值,getopt函數將會打印出一條錯誤信息

extern int optopt; //在遇到無法識別到的參數時,會將此參數保存于此

argc 和 argv 就是mian函數傳遞進來的參數

optstring 該字符串告訴getopt哪些選項可用,以及它們是否有關聯值

例:getopt(argc, argv, "if:lr");

可用參數為i,f,l,r其中 f: 表示f有關聯值

調用getopt會返回argv數組中的下一個選項字符,通過循環調用可以依次讀取每個選項參數

如果選項參數有關聯值,則optarg將指向這個值

如果處理完,返回-1,特殊參數“--”將使getopt停止掃描選項

如果遇到無法識別的選項,getopt返回一個 ‘?’,將保存到optopt中

如果一個選項要求有一個關聯值,但是沒有按照要求輸入關聯值,通常會返回一個問號(?),這會與上一點沖突

所以將optstring的第一個字符設置為  ' : ',使改為放回一個 ’ :’

getopt_long函數與getopt的作用相同,但是它接受的是多個字符的參數,以 -- 開頭,不具體描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江津市| 蓬莱市| 钟祥市| 伊宁市| 泸州市| 永嘉县| 大名县| 顺义区| 湖州市| 广元市| 加查县| 界首市| 呼和浩特市| 南投市| 砚山县| 新丰县| 即墨市| 绥化市| 南川市| 沛县| 静安区| 铁力市| 顺义区| 会东县| 榆社县| 察隅县| 额尔古纳市| 龙川县| 景泰县| 视频| 唐山市| 葫芦岛市| 桑日县| 南昌市| 泰宁县| 深泽县| 龙川县| 宜宾市| 新疆| 都江堰市| 新闻|