`
kenby
  • 浏览: 724642 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

getopt_long函数学习笔记

阅读更多

1.头文件

2.函数原型

int getopt_long(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex);

longindex参数如果没有设置为NULL,那么它就指向一个变量,这个变量会被赋值为寻找到的长选项在longopts中的索引值

3.全局符号

(1)

一般每个长选项都对应一个短选项,两者是等价的,option结构就是用来定义长选项对应哪个短选项,name表示长选项的名称,val表示对应的短选项,比如{ "no-proxy", no_argument, NULL, 'N' },说明--no-proxy对应与-N。

has_arg可以取值如下:

no_argument 0 选项没有参数

requierd_argument 1 选项需要参数

optional_argument 2 选项参数可选

比如我们可以定义如下选项:


(2)

假设使用下载工具axel:

axel -q --no-proxy --max-speed=150 http://blog.csdn.net/kenby/index.html

初始时,optind的值为1,指向第1个参数,每调用一次getopt_long,optind就向后移一个单位,指向第二个参数,这样optind总是指向下一个要处理的参数,optarg表示参数的值,比如但处理max-speed时,optarg的值为150

4.函数返回值

(1)若没有命令行参数,返回-1

(2)若碰到匹配的短选项, 返回对应的字符,比如碰到-N, 返回'N',若碰到匹配的长选项,返回在option数组里面定义的val,

比如碰到--no-proxy, 返回'N'。

(3)若碰到无法识别的短选项,返回-1, 若碰到无法识别的长选项,返回'?'


分享到:
评论

相关推荐

    getopt.h getopt getopt_long

    win10 vs2019下的 getopt及getopt_long getopt/getopt_long函数是GNU C中的函数

    windows下的getopt/getopt_long等函数,vs2010实测可用

    GNU libc提供了getopt和getopt_long用于解析命令行参数,使用方便,但是windows环境没有提供。故将GNU libc提供的源码稍加修改,整理出了windows下可用的getopt和getopt_long。

    getopt源码下载及getopt_long源码下载

    而其他两个例子文件可能是使用`getopt`或`getopt_long`的示例程序,可以用来学习如何在实际项目中应用这两个函数。 在使用`getopt`或`getopt_long`时,首先需要定义`optstring`,它是选项的短格式,每个选项字符...

    getopt.h getopt.c getopt getopt_long 字符串 命令行

    `getopt_long` 函数扩展了 `getopt`,增加了对长选项的支持。它的语法稍显复杂: ```c int getopt_long(int argc, char *const *argv, const char *optstring, const struct option *longopts, int *longindex); ...

    windows 版本 getopt_long

    windows 版本 getopt_long ,从GLIBC移植过来,解析命令行参数. 命令行参数可以分为两类,一类是短选项,一类是长选项,短选项在参数前加一杠"-",长选项在参数前连续加两杠"--",如下表(ls 命令参数)所示,其中-a,...

    getopt.h getopt.c getopt_long 文件和函数说明

    `getopt` 函数是C标准库的一部分,通常用于解析命令行参数,而`getopt_long` 是一个扩展功能,提供更方便的方式来处理长选项。 `getopt.h` 文件包含了 `getopt` 函数的声明。这个函数主要用于处理命令行参数,它...

    详细解析命令行的getopt_long()函数

    函数原型int getopt_long(int argc,char * const argv[],const char *optstring,const struct option *longopts,int *longindex) 函数说明getopt被用来解析命令行选项参数。getopt_long支持长选项的命令行解析,函数...

    getopt及getopt_long.rar

    在`useok`这个示例项目中,可能包含了如何在VS2019下配置和使用`getopt`和`getopt_long`的代码示例,这对于理解和学习这两个函数的用法非常有帮助。通过阅读和运行这个项目,你可以更好地掌握如何在Windows环境下...

    getopt和getopt_long在Linux操作系统下解析命令

    `getopt`和`getopt_long`函数是C语言标准库中用于解析命令行参数的两个重要工具,它们能帮助我们方便地获取和处理用户在执行程序时传递的参数。 `getopt`函数是最基础的命令行参数解析函数,它按照一定的顺序(通常...

    Command Line Options: getopt_long() Learning Note

    本篇学习笔记将深入探讨`getopt_long()`的使用方法、功能和相关知识点。 `getopt_long()`函数是`getopt()`函数的扩展版,它允许我们定义和处理带有“--”前缀的长选项。`getopt()`只能处理单个字符的选项,而`...

    linux解析命令行选项getopt_long用法解读.docx

    Linux中的`getopt_long`函数是用来解析命令行选项的一个标准工具,它可以帮助程序员方便地处理命令行参数。本文将深入探讨`getopt_long`的用法及其相关知识点。 首先,`getopt_long`函数通常在编写需要处理命令行...

    基于mjpg-streamer-r63的源码分析之:基础知识详细解释[二].pdf

    Linux系统提供了许多函数用于解析命令行参数,其中getopt_long函数和getopt_long_only函数是较为常用的两个函数。这两个函数的作用是帮助程序员处理输入的命令行参数,并解析出程序需要的参数值。本文将详细介绍...

    c-getopt-long 使用手册

    在C编程中,`getopt()` 和 `getopt_long()` 是两个非常重要的函数,用于解析命令行选项。它们主要用于处理程序启动时用户输入的一系列参数,例如 `-h`(帮助)或 `-o`(带有参数的选项)。这些函数是C标准库的一部分...

    getopt多参数解析函数具体分析命令行参数解析

    `getopt()`函数是C语言中用于解析命令行参数的标准函数,主要应用于Unix/Linux系统,也可以在其他支持C语言的环境中使用。它简化了对带有选项和参数的命令行输入的处理,使得程序能够优雅地解析和理解用户提供的...

    getopt windows_src.zip

    getopt/getopt_long函数是GNU C中的函数,在linux编程中很常用到。这里就不介绍了。 windows下没有找到类似的函数,于是乎从glibc中找出来修改为windows可用的命令行参数。 vs亲写可用

    getopt windows实现

    在Windows操作系统中,通常开发环境使用的是MSVC (Microsoft Visual C++) 或者其他与Windows API紧密集成的工具,而这些工具并不直接支持Linux中的`getopt`、`getopt_long`和`getopt_long_only`函数。这些函数是用于...

    getopt_mb_uni_src.zip

    《getopt_mb_uni_src.zip:Linux命令行解析工具getopt在Windows下的移植与应用》 在编程领域,处理命令行参数是一项常见的任务,尤其是在开发命令行工具或脚本时。Linux系统中的getopt函数是C语言标准库(libc)提供...

    getopt源码,32,64库

    通过深入学习`getopt`库的源代码,开发者可以了解到如何处理命令行选项的内部机制,也可以自定义选项处理逻辑或者扩展功能。对于需要跨平台运行的软件,预编译的32位和64位库文件则为不同环境提供了便利。总之,`...

Global site tag (gtag.js) - Google Analytics