Getopt_long function analysis

1定义:

int getopt_long(int argc, char * const argv[], const char *optstring,

​ const struct option *longopts,int *longindex);

optstring: 表示短选项字符串。

形式如a: b::cd分别表示程序支持的命令行短选项有-a、-b、-c、-d,冒号含义如下:

(1)只有一个字符,不带冒号——只表示选项, 如-c

(2)一个字符,后接一个冒号——表示选项后面带一个参数,如-a 100

(3)一个字符,后接两个冒号——表示选项后面带一个可选参数,即参数可有可无,

**longopts:**表示长选项结构体。结构如下:

struct option

{

const char *name;

int has_arg;

int *flag;

int val;

};

(1)name:表示选项的名称,比如daemon,dir,out等。

(2)has_arg:表示选项后面是否携带参数。该参数有三个不同值,如下:

​ a: no_argument(或者是0)时 ——参数后面不跟参数值,eg: --version,–help

​ b: required_argument(或者是1)时 ——参数输入格式为:–参数 值 或者 --参数=值。eg:–dir=/home

​ c: optional_argument(或者是2)时 ——参数输入格式只能为:–参数=值

(3)flag:这个参数有两个意思

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值