【Linux 命令行参数解析函数getopt()】原理及直白理解

最近写代码恰好碰见getopt()这个函数,去网上找了很久,说实话,其他人写的有点看不懂,所以将我认为可以便于理解的地方描述一下:

int getopt(int argc, char * const argv[], const char *optstring);

首先理解这个函数的功能(不能保证大家都能理解)

  1. 获取命令行信息,并读取命令行中的选项;
    (命令行组成或许存在盲区,这是某位博主的这是他的博客
    Option就是选项,Option argument是参数:
    在这里插入图片描述

  2. 每读取到一个选项,会返回一个int整型,这个整型不是选项位置,而是选项对应的ASCII码值

  3. 这个函数附带了一些全局变量,这些全局变量中的optarg会对应着解析到的某个选项对应的参数

其次我们需要理解函数原型

该函数的参数说明如下:

argc(参数个数):
  1. 类型:int
  2. 说明:这是从main函数传递过来的命令行参数个数。在C语言中,argc包含了程序名(即argv[0]),因此如果命令行中有3个参数(不包括程序名),则argc的值为4。
argv(参数内容):
  1. 类型:char * const argv[]
  2. 说明:这是从main函数传递过来的命令行参数数组。argv是一个指向指针的指针,每个指针指向一个C风格的字符串(以null字符\0结尾)。argv[0]通常是程序的名称,随后的元素是传递给程序的命令行参数。
optstring(选项字符串):
  1. 类型:const
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flos chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值