参数longopts,其实是一个结构的实例:参数flag,表示当前长参数在longopts中的索引值。给个例子:如果命令行的参数是-a 123,那么调用getopt_long( )将返回字符'a',并且将字符串123由optarg返回(注意注意!字符串123由optarg带回!optarg不需要定义,在getopt.h中已经有定义),那么,如果命令行参数是-c,那么调用...
optarg :表示当前选项的参数值 optbind :表示的是下一个将被处理到的参数在 argv 中的下标值 opterr :如果 opterr = 0,在 getopt、getopt_long、getopt_long_only 遇到错误将不会输出错误信息到标准输出流。opterr 在非0时,向屏幕输出错误 optopt :存储了当前发现的无效选项字符。当 getopt 函数返回 '?' ...
};while((opt = getopt_long(argc, argv,"a:b:cdef", long_options, &option_index)) != -1) {switch(opt) {case'a': num1=atof(optarg);break;case'b': num2=atof(optarg);break;case'c': operation='c';//加法break;case'd': operation='d';//减法break;case'e': operation='e';//...
1:其它的外部变量如optarg,optopt,opterr等在getopt_long函数中含义不变 2:getopt_long接收参数的格式是"--" 而不是 "-" 3:参数longopts的作用其实是关联短选项和长选项的,所以一个程序的 -c XXX 和 --clientid XXX是同样的效果,只不过长选项提供了更完整的信息给使用者 参考博客...
optarg:是带有一个冒号的optstring opterr:此选项决定是否将错误消息打印到标准错误中,如果是0的话,就不打印错误了。 下面是一个例子和对应的输出。 file 接下来讲解getopt_long函数,前面说过,此函数能够处理所有的参数 函数原型:intgetopt_long(intargc,char*constargv[],constchar*optstring,conststructoption*long...
printf("input name : %s\n", optarg); break; case 'a': printf("input age : %s\n", optarg); break; default: printf("*** fail, unrecognized option ***\n"); break; } opt = getopt_long( argc, argv, optString, longOpts, &longIndex ); ...
optarg:若短选项后有参数,则optarg指向该参数。char *类型 optind:扫描选项时,标识下一个选项的索引;扫描结束后,标识第一个非选项参数索引。int类型 opterr:出现不可识别的选项时,getopt将打印错误信息。将opterr设为0,可不打印错误信息。int类型 optopt:最后一个未知选项。int类型 ...
optarg不需要定义,在getopt.h中已经有定义),那么,如果命令行参数是-c,那么调用getopt_long()将返回字符'c',而此时,optarg是null。最后,当getopt_long()将命令行所有参数全部解析完成后,返回-1。注意 required_argument(或者是1)时,参数输入格式为:--参数 值 或者 --参数=值。optional_argument(或者是2...
(argc,argv);intc;std::string opt;while((c=getopt_long(argc,argv,short_options,long_options,NULL))!=-1){switch(c){case'i':opt=optarg;g_input_arg_info.user_id=opt;break;case'n':opt=optarg;g_input_arg_info.user_name=opt;break;case'p':opt=optarg;g_input_arg_info.pwd=opt;break...
optarg:是带有一个冒号的optstring opterr:此选项决定是否将错误消息打印到标准错误中,如果是0的话,就不打印错误了。 下面是一个例子和对应的输出。 接下来讲解getopt_long函数,前面说过,此函数能够处理所有的参数 函数原型: int getopt_long(int argc, char * const argv[], const char *optstring, const struc...