Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1041568
  • 博文数量: 297
  • 博客积分: 11721
  • 博客等级: 上将
  • 技术积分: 3431
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-25 10:21
文章分类

全部博文(297)

文章存档

2016年(9)

2011年(71)

2010年(137)

2009年(80)

分类: C/C++

2010-10-09 17:44:22

getopt
  getopt(分析命令行参数)
  相关函数
  表头文件 #include
  定义函数 int getopt(int argc,char * const argv[ ],const char * optstring);
  函数说明 getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。
        参数optstring 则代表欲处理的选项字符串。
        此函数会返回在argv 中下一个的选项字母,此字母会对应参数optstring 中的字母。如果选项字符串里的字母后接着冒号“:”,
        则表示还有相关的参数,全域变量optarg 即会指向此额外参数。如果getopt()找不到符合的参数则会印出错信息,
        并将全域变量optopt设为“?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可。
  返回值 如果找到符合的参数则返回此参数字母,如果参数不包含在参数optstring 的选项字母则返回“?”字符,分析结束则返回-1。

  范例:

        #include
  #include
  int main(int argc,char **argv)
  {
  int ch;
  opterr = 0;
  while((ch = getopt(argc,argv,”a:bcde”))!= -1)
  switch(ch)
  {
  case ‘a’:
  printf(“option a:’%s’\n”,optarg);
  break;
  case ‘b’:
  printf(“option b :b\n”);
  break;
  default:
  printf(“other option :%c\n”,ch);
  }
  printf(“optopt +%c\n”,optopt);
  }
  执行 $./getopt –b
  option b:b
  $./getopt –c
  other option:c
  $./getopt –a
  other option :?
  $./getopt –a12345
  option a:’12345’
阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~