getopt.h 头文件说明

详情请看:http://blog.chinaunix.net/uid-738944-id-3474852.html

1. 定义长参数的列表

static const struct option long_options[]=

{

 {"force",no_argument,&force,1},

 {"reload",no_argument,&force_reload,1},

 {"time",required_argument,NULL,'t'},

 {"help",no_argument,NULL,'?'},

 {"http09",no_argument,NULL,'9'},

 {"http10",no_argument,NULL,'1'},

 {"http11",no_argument,NULL,'2'},

 {"get",no_argument,&method,METHOD_GET},

 {"head",no_argument,&method,METHOD_HEAD},

 {"options",no_argument,&method,METHOD_OPTIONS},

 {"trace",no_argument,&method,METHOD_TRACE},

 {"version",no_argument,NULL,'V'},

 {"proxy",required_argument,NULL,'p'},

 {"clients",required_argument,NULL,'c'},

 {NULL,0,NULL,0}

};

2. 读取长参数和短参数,并解析参数

while((opt=getopt_long(argc,argv,"912Vfrt:p:c:?h",long_options,&options_index))!=EOF )

  {

  switch(opt)

  {

    case  0 : break;

    case 'f': force=1;break;

    case 'r': force_reload=1;break;

    case 'c': clients=atoi(optarg);break;

  }

  }


3. 全局参数

extern char *optarg;
extern int optind, opterr, optopt;

optarg: 当前选项带参数时,optarg指向该参数。
optind: argv的索引。通常选项参数取得完毕时,通过此变量可以取得非选项参数(argv[optind])
optopt: 一个选项在argv中有,但在optstring中不存在时,或者一个带参数的选项没有参数时,
        getopt()返回'?',同时将optopt设为该选项。
opterr: 将此变量设置为0,可以抑制getopt()输出错误信息。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值