+ -
当前位置:首页 → 问答吧 → 请教命令行处理带参数的问题

请教命令行处理带参数的问题

时间:2010-08-22

来源:互联网

本帖最后由 285230769 于 2010-08-22 21:32 编辑

想实现功能:./test -f log1234 -c 3 -t 2   (f : logfie写入日志信息的文件 ,  c : count 执行的次数,  -t  time执行时间)
如下面这样子写好像就没有办法获取到  -c  -t 的值了,该如何写呢?   谢谢!
  1. void print_usage(void)
  2. {
  3.         fprintf(stderr, "Usage:\n");
  4.         fprintf(stderr, "\t-f: filename of log file. (eg, -f <logname>)\n");
  5.         fprintf(stderr, "\t-c: count number. (eg, -c <countnumber>)\n");
  6.         fprintf(stderr, "\t-t: time.(eg, -t <time>)\n");
  7. }
  8. char *parse_options(int argc, char **argv, unsigned int *c)
  9. {
  10.         int sel;
  11.         char *filename;
  12.         char *count;
  13.         char *time;

  14.         *c = 0;
  15.         filename = NULL;
  16.         while((sel = getopt(argc, argv, "c:t:f:")) != -1){
  17.                 switch(sel){
  18.                         case 'f':
  19.                                 filename = optarg; break;                               
  20.                         case 'c':
  21.                                 mobileversion = atoi(optarg); break;
  22.                         case 't':
  23.                                 baseversion = atoi(optarg); break;                       
  24.                         default:
  25.                                 fprintf(stderr,"Wrong options.\n");
  26.                                 print_usage();
  27.                                 exit(1);
  28.                 }
  29.         }
  30.         return filename;
  31. }
  32. int main(int argc, char **argv)
  33. {
  34.         unsigned int choice;
  35.         char *logfile;

  36.         logfile = parse_options(argc, argv, &choice);

  37.         return 0;
  38. }
复制代码

作者: 285230769   发布时间: 2010-08-22

有空格,就是两个参数了

作者: hellioncu   发布时间: 2010-08-22

回复 hellioncu
可否稍微详细点,没明白你的意思

作者: 285230769   发布时间: 2010-08-22



QUOTE:
回复  hellioncu
可否稍微详细点,没明白你的意思
285230769 发表于 2010-08-22 22:22




    -c 3因为之间有空格,当作两个参数的,要取得3,就用取-c位置的下一个argv

作者: hellioncu   发布时间: 2010-08-22

我记得是有专门的函数来处理长短形式的命令行参数的...

作者: liwangli1983   发布时间: 2010-08-22

求解析命令行参数的库!

作者: tempname2   发布时间: 2010-08-22