getopt 与 getopt_long 函数用法

2025-10-27 22:22:50

1、函数原型如图所示

getopt 与 getopt_long 函数用法

2、除了函数原型外,还有几个全局变量用来配合获取具体参数选项的值,或标识错误。 extern char *optarg; //选项的参数指针 extern int optind; //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。 extern int opterr; //当opterr=0时,getopt不向stderr输出错误信息。 extern int optopt; //当命令行选项字符不包括在optstring中或者选项缺少必要的参数时,该选项存储在optopt中,getopt返回'?'

3、我们以下面的例子以及运行情况来作为讲解,例子如下:

getopt 与 getopt_long 函数用法

4、按照不同的输入参数结果,验证解析结果。

getopt 与 getopt_long 函数用法

getopt 与 getopt_long 函数用法

getopt 与 getopt_long 函数用法

getopt 与 getopt_long 函数用法

getopt 与 getopt_long 函数用法

1、在linux程序中,我们还经常看见使用'--'标识输入参数的,这种就需要使用getopt_long函数来解析。getopt_long是getopt的升级版,支持长选项命令解析。

2、函数原型如下图中所示

getopt 与 getopt_long 函数用法

3、参数longopts结构定义如下:

struct option {    const char *name; // name表示长选项参数名称    int has_arg; // has_arg有3个值,no_argument(或者0),表示该参数后面不跟参数值                // required_argument(或者1),表示该参数后面一定要有参数值                // optional_argument(或者2),表示该参数后面可选参数值    int *flag;  //    int val;    // flag与val用来决定函数返回值。如果flag是null,则函数会返回val值;如果flag不是null,则将val值赋予flag所指向的内存,并且返回值设置为0};

4、我们也以一个的例子以及运行情况来作为讲解,例子如下:

getopt 与 getopt_long 函数用法

5、编译后执行,输入参数结果,验证解析结果

getopt 与 getopt_long 函数用法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢