您的位置:首页 > 运维架构

getopt.h 头文件说明

2016-01-20 20:49 169 查看
详情请看: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()输出错误信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言