命令行长选项getopt_long

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

funcion:对长或短命令行参数进行解析 选项需要用短用'-'标记  长用'--'来标记
argc:  传给main函数的参数个数
argv[]:传给main函数的参数
optstring:一个包含合法字符选项的字符串,若只解析长选项此处设置""串但不能设置NULL
   如: "ab:c::"
   (1) -a(--aaa) 选项不带参数
   (2) -b(--bbb)选项带参数 -b(-bbb) arg
   (3) -c(--ccc)选项可以带参数 也可以不带参数, 但选项和参数必须紧挨着 -c(-ccc)[arg]   
longindex:若不为空,则存放longopts数组中匹配的元素下标,此值只有在optstings为""串,的时候才会返回值

struct option{
   const char *name; //长选项的名字
   int         has_arg; //是否有参数 
                        //no_argument表示没有,
                        //required_argument需要参数--bbb arg 或者 --bbb=arg 
                        //optional_argument需要或不需要 使用方式为--ccc=arg
   int        *flag;//如果flag是null(通常情况),则函数会返回与该项option匹配的val值;
                    //如果flag不是NULL,则将val值赋予flag所指向的内存,并且返回值设置为0。                   
   int         val; //和长选项对应的短选项 
};

例子如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值