当前位置 : 主页 > 网页制作 > html >

c语言中的struct-option结构

来源:互联网 收集:自由互联 发布时间:2021-06-12
C语言知识拾遗,struct option 结构体。 struct option 指明了一个长参数,在一些控制台程序中经常用到,需要指明不同的参数来运行程序。如开源软件 webbench 运行 ./webbench -h 后会出现一些可

C语言知识拾遗,struct option 结构体。

struct option 指明了一个长参数,在一些控制台程序中经常用到,需要指明不同的参数来运行程序。如开源软件webbench运行./webbench -h后会出现一些可选项,指定不同的参数,程序会做出不同的相应。
分享图片

1
2
3
4
5
6
struct {
const char *name;
int has_arg;
int *flag;
int val;
}

参数说明:
name 表示长参数的名称;
has_arg 表示参数名称后面是否需要跟着参数,no_argument(0)不需要,required_argument(1)一定要跟个参数,optional_argument(2)可以有也可以没有;
flag 决定了getopt_long的返回值,如果为NULL,返回val字段的数值;如果不为NULL,则会使其指向的内容变为val中的值,并且返回0;若未发现长选项,那么指向不变;
val 指定的默认值。

长命令参数的解析

1
2
3
int getopt_long(int argc, char * const argv[],
const char *optstring,
const struct option *longopts, int *longindex);

参数说明:
argcargv 是命令行参数;
optstring 选项参数组成的字符串,如果一个字母后面跟着一个冒号如 t:,那么表示这个选项后需要参数;
longopts 是需要的自定义的option结构体;
longindex 指定一个索引指针。

例子

原文:大专栏  c语言中的struct-option结构

网友评论