C语言知识拾遗,struct option 结构体。 struct option 指明了一个长参数,在一些控制台程序中经常用到,需要指明不同的参数来运行程序。如开源软件 webbench 运行 ./webbench -h 后会出现一些可
C语言知识拾遗,struct option 结构体。
struct option
指明了一个长参数,在一些控制台程序中经常用到,需要指明不同的参数来运行程序。如开源软件webbench运行./webbench -h
后会出现一些可选项,指定不同的参数,程序会做出不同的相应。
参数说明:
name 表示长参数的名称;
has_arg 表示参数名称后面是否需要跟着参数,no_argument(0)不需要,required_argument(1)一定要跟个参数,optional_argument(2)可以有也可以没有;
flag 决定了getopt_long
的返回值,如果为NULL,返回val字段的数值;如果不为NULL,则会使其指向的内容变为val中的值,并且返回0;若未发现长选项,那么指向不变;
val 指定的默认值。
长命令参数的解析
参数说明:argc
和 argv
是命令行参数;optstring
选项参数组成的字符串,如果一个字母后面跟着一个冒号如 t:
,那么表示这个选项后需要参数;longopts
是需要的自定义的option结构体;longindex
指定一个索引指针。
例子:
原文:大专栏 c语言中的struct-option结构