当getopt_long解析到一个长选项并且发现后面没有参数则返回':',表示缺乏参数。 当处理一个参数时,全局变量optarg指向下一个要处理的变量。当getopt_long处理完所有的选项后,全局变 量optind指向第一个未知的选项索引。 #include <stdio.h>#include<getopt.h>intdo_name, do_gf_name;char*l_opt_arg;staticcons...
intgetopt_long(intargc,char*constargv[],constchar*optstring,conststructoption *longopts,int*longindex); 参数 longopts 指明了长参数的名称和属性 longindex 如果longindex非空,它指向的变量将记录当前找到参数符合longopts里的第几个元素的描述,即是longopts的下标值 struct option structoption {constchar*name...
这个命令包含多个选项,且选项或许还带有参数,如果完全由自己进行实现的话,可以是可以的,但是难免要花费一些功夫,尤其是在已有现成的实现情况下,函数getopt和getopt_long就是专门用来解析命令行参数的,一个是用来处理短选项(-开头)一个长选项(--开头)功能强大易用,简单方便,妈妈再也不担心我写错代码了^_^。 先看...
Linux系统下,需要大量的命令行选项,如果自己手动解析他们的话实在是有违软件复用的思想,不过还好,GNU C library留给我们一个解析命令行的接口(X/Open规范),好好使用它可以使你的程序改观不少。 使用getopt_long()需要引入头文件:#include<getopt.h> 现在我们使用一个例子来说明它的使用。 一个应用程序需要如下的...
getopt_long未打印错误消息 、、 我使用getopt和getopt_long来解析c++程序的参数。当参数给出正确的时候,我没有问题。此外,如果给出了错误的简短参数,则会正确打印错误消息。但是当给出一个错误的长参数时,我得不到它的错误信息。int option_index; while ((c = getopt_long (argc, argv, "ab",: 浏览12...
加上空格带上参数,会只解析出选项,忽略参数。 针对字符后一个冒号的设定: 带上空格多加几个参数后,只解析第一个,其余忽略; 如果不加参数,解析失败; 比如,"vha:b:c::"就表示: 支持-v选项,通常用于打印版本号; 支持-h选项,通常用于打印帮助信息; ...
如果你需要getopt()和getopt_long()的使用语法和结构上的提示,可以 opensource.com。它提供了最小可行代码,并列出了你需要了解的一些全局变量的含义。速查表的一面是getopt()的用法,另一面是getopt_long()的用法。 via: 作者: 选题: 译者: 校对:
Linux 命令行解析函数getopt()、getopt_long()、getopt_long_only()详解 Linux 命令行解析函数 概述 Linux是基于命令行的,而这些命令通常又带有各种参数,这样一来就需要提供一些机制或者说是函数去接口去处理这些命令行参数。 getopt()、getopt_long()、getopt_long_only()函数是GNU C提供的用来解析命令参数的一...
optstring是getopt_long的第三个参数,声明为:
我必须承认,我以前从未听说过argp。查看文档,对于普通用途来说,它似乎太复杂了。getopt_long已经够糟糕...