一個使用getopt()函式獲取命令列引數的例子(轉)
一個使用getopt()函式獲取命令列引數的例子(轉)[@more@]
#include
int
main (argc, argv)
int argc;
char **argv;
{
int c;
int digit_optind = 0;
while (1)
{
int this_option_optind = optind ? optind : 1;
int option_index = 0;
static struct option long_options[] =
{
{"add", 1, 0, 0},
{"append", 0, 0, 0},
{"delete", 1, 0, 0},
{"verbose", 0, 0, 0},
{"create", 1, 0, 'c'},
{"file", 1, 0, 0},
{0, 0, 0, 0}
};
c = getopt_long (argc, argv, "abc:d:012",
long_options, &option_index);
if (c == -1)
break;
switch (c)
{
case 0:
printf ("option %s", long_options[option_index].name);
if (optarg)
printf (" with arg %s", optarg);
printf (" ");
break;
case '0':
case '1':
case '2':
if (digit_optind != 0 && digit_optind != this_option_optind)
printf ("digits occur in two different argv-elements. ");
digit_optind = this_option_optind;
printf ("option %c ", c);
break;
case 'a':
printf ("option a ");
break;
case 'b':
printf ("option b ");
break;
case 'c':
printf ("option c with value `%s' ", optarg);
break;
case 'd':
printf ("option d with value `%s' ", optarg);
break;
case '?':
break;
default:
printf ("?? getopt returned character code 0%o ?? ", c);
}
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf (" ");
}
exit (0);
}
#include
int
main (argc, argv)
int argc;
char **argv;
{
int c;
int digit_optind = 0;
while (1)
{
int this_option_optind = optind ? optind : 1;
int option_index = 0;
static struct option long_options[] =
{
{"add", 1, 0, 0},
{"append", 0, 0, 0},
{"delete", 1, 0, 0},
{"verbose", 0, 0, 0},
{"create", 1, 0, 'c'},
{"file", 1, 0, 0},
{0, 0, 0, 0}
};
c = getopt_long (argc, argv, "abc:d:012",
long_options, &option_index);
if (c == -1)
break;
switch (c)
{
case 0:
printf ("option %s", long_options[option_index].name);
if (optarg)
printf (" with arg %s", optarg);
printf (" ");
break;
case '0':
case '1':
case '2':
if (digit_optind != 0 && digit_optind != this_option_optind)
printf ("digits occur in two different argv-elements. ");
digit_optind = this_option_optind;
printf ("option %c ", c);
break;
case 'a':
printf ("option a ");
break;
case 'b':
printf ("option b ");
break;
case 'c':
printf ("option c with value `%s' ", optarg);
break;
case 'd':
printf ("option d with value `%s' ", optarg);
break;
case '?':
break;
default:
printf ("?? getopt returned character code 0%o ?? ", c);
}
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf (" ");
}
exit (0);
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10796304/viewspace-962582/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用getopt_long()從命令列獲取引數命令列
- 使用getopt_long()從命令列獲取引數,struct option命令列Struct
- 命令列引數選項處理:getopt()及getopt_long()函式使用命令列函式
- 命令列引數解析函式getopt_long() 使用詳解命令列函式
- linux的命令列解析引數之getopt_long函式使用Linux命令列函式
- C/C++—— 分析命令列引數的getopt()函式使用介紹C++命令列函式
- 1.linux的命令列解析引數之getopt_long函式Linux命令列函式
- javascript獲取函式定義的引數個數JavaScript函式
- C++ main函式命令列引數使用C++AI函式命令列
- 使用arguments物件獲取函式傳遞的引數物件函式
- 反射如何獲取函式的引數名反射函式
- python獲取命令列引數的程式碼Python命令列
- 將使用回撥函式作為引數的函式改造為返回 Promise 的一個具體例子函式Promise
- linux 中解析命令列引數 (getopt_long用法)Linux命令列
- java 使用命令列引數(轉)Java命令列
- python 獲取函式的所有引數列表:locals()Python函式
- js獲取位址列的引數JS
- Linux程式設計——用getopt處理命令列引數Linux程式設計命令列
- 【C】 33_main 函式與命令列引數AI函式命令列
- 物件,函式作為一個函式的引數物件函式
- Rust 問答之如何獲取 main 函式的引數RustAI函式
- 一個簡單的oracle函式返回陣列的例子Oracle函式陣列
- linux之getopt 函式(轉)Linux函式
- 正規表示式獲取位址列傳遞引數
- Linux下getopt函式的使用Linux函式
- Java——通過反射獲取函式引數名稱Java反射函式
- JS陣列at函式(獲取最後一個元素的方法)介紹JS陣列函式
- arguments物件獲取給函式傳遞的實際引數物件函式
- vue獲取位址列引數方法Vue
- 使用 getopt() 進行命令列處理命令列
- 獲取位址列引數 - queryString(正規表示式版本)
- Ghost命令列引數大全(轉)命令列
- 使用 PHP 的 Filter 函式(過濾器)高效、安全地獲取請求引數PHPFilter函式過濾器
- 如何透過AST樹去獲取JS函式引數名ASTJS函式
- TCL指令碼讀取命令列引數指令碼命令列
- 超簡潔的js獲取位址列引數JS
- Excel函式應用教程:函式的引數(轉)Excel函式
- Linux下getopt()函式的簡單使用Linux函式