在linux程序中,我们还经常看见使用'--'标识输入参数的,这种就需要使用getopt_long函数来解析。
如下使用方式:
while ((opt = getopt_long(argc, argv, short_options, long_options, &option_index)) != -1) {
//......
}
参数longopts结构定义如下:
struct option {
const char *name; // name表示长选项参数名称
int has_arg; // has_arg有3个值,no_argument(或者0),表示该参数后面不跟参数值 // required_argument(或者1),表示该参数后面一定要有参数值 // optional_argument(或者2),表示该参数后面可选参数值
int *flag; // 根据返回方式可选择设置为null
int val; // flag与val用来决定函数返回值。如果flag是null,则函数会返回val值;如果flag不是null,则将val值赋予flag所指向的内存,并且返回值设置为0};
下面举例说明:
编译后执行,输入参数结果。输入命令后验证解析结果