getopt\_long 的用法

getopt_long 的用法

getopt_long 的用法 傳遞參數供程式使用有兩種型式 短型式 由一個“-”加上一個字母組合而成 某個選項後面需要跟一個參數,那麼就需要在這個字元後面加上一個“:”(冒號) EX: const char *short_option = "hvp:"; 程式可以輸入 \$ program -h -v -p 123.456.789 長型式 由兩個“-”加上一個單詞組合而成 EX: const struct option long_option[] = { { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, 'v' }, { "ip", required_argument, NULL, 'p' }, { NULL, 0, NULL, 0} }; 程式可以輸入 \$ program --help --version --ip 123.456.789 程式範例: ------------------------ #include #include int main(int argc, char *argv[]){ char option; const char *short_option = "hvp:"; const struct option long_option[] = { { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, 'v' }, { "ip", required_argument, NULL, 'p' }, { NULL, 0, NULL, 0} }; while((option = getopt_long(argc, argv, short_option, long_option, NULL)) != (char)-1){ printf("option is %c\t\t", option); switch(option){ case 'h': printf("help\n"); break; case 'v': printf("Version\n"); break; case 'p': printf("ip=%s\n",optarg);optarg 提取數值(123.456.789) break; } } return 0; } ------------------------ 參考資料 http://www.linuxuser.com.tw/power/list2.php?id=1575 man getopt_long

convert from Thomas blog post id 54 old convert log: ./151200/tag%3E2007%2002%20linux)

@2007 @02 @linux

Comments