getopt( )和 getopt_long( )
声明:
#include <unistd.h>
int getopt(int argc, char *const argv[], const char *optstring);
extern char *optarg;
extern int optind, opterr, optopt;
使用方法:在while循环中反复调用,直到它返回-1。每当找到一个有效的选项字母,它就返回这个字母。如果选项有参数,就设置optarg指向这个参数。
当程序运行时,getopt()函数会设置控制错误处理的几个变量:
char *optarg ──如果选项接受参数的话,那么optarg就是选项参数。
int optind──argv的当前索引,当while循环结束的时候,剩下的操作数在argv[optind]到argv[argc-1]中能找到。
int opterr──当这个变量非零(默认非零)的时候,getopt()函数为"无效选项”和“缺少选项参数”这两种错误情况输出它自己的错误消息。可以在调用getopt()之前设置opterr为0,强制getopt()在发现错误时不输出任何消息。
int optopt──当发现无效选项的进修,getopt()函数或者返回'?'字符,或者返回字符':'字符,并且optopt包含了所发现的无效选项字符。
范例 #include<stdio.h>
转载于:https://www.cnblogs.com/ancient/p/3202157.html
getopt( )和 getopt_long( )相关推荐
- linux c 命令行参数处理函数 getopt()和getopt_long()
在实际编程当中,自己编写代码处理命令行参数是比较麻烦且易出错的.一般我们会直接使用getopt()和getopt_long()函数,下文将介绍具体的使用方法. getopt() getopt()用于处 ...
- c语言命令行选项处理函数getopt和getopt_long() 函数使用
经常接触Linux的同学应该有这样的体验,当遇到一个不会使用的命令时通常敲一下xCmd -h或者xCmd --help来获取命令提示,例如tcpdump命令或者iptables命令,像这样的选项仅仅是 ...
- Linux getopt()函数 getopt_long()函数---转
http://hi.baidu.com/scoundrelgg/item/d4083f8412eea05d26ebd97f Linux getopt()函数 getopt_long()函数 get_o ...
- getopt和getopt_long函数
平时在写程序时常常需要对命令行参数进行处理,当命令行参数个数较多时,如果按照顺序一个一个定义参数含义很容易造成混乱,而且如果程序只按顺序处理参数的话,一些"可选参数"的功能将很难实 ...
- getopt与getopt_long
很多命令行程序中都有这两个文件:getopt.c与getopt_long.c.它们的作用是可以方便的获取命令行的参数.在此转一篇文章,讲述它们的作用. 一.getopt getopt被用来解析命令行选 ...
- webbench源码学习--命令行选项解析函数getopt和getopt_long函数
对于webbench这个网站压力测试工具网上介绍的很多,有深度详解剖析的,对于背景就不在提了, 听说最多可以模拟3万个并发连接去测试网站的负载能力,这里主要是学习了一下它的源码,做点 笔记. 官方介绍 ...
- getopt和getopt_long的使用
getopt的函数使用 1.需要头文件#include <unistd.h>,其函数原型为int getopt(int argc, char *const argv[], const ch ...
- 命令行选项解析函数(C语言):getopt()和getopt_long()
上午在看源码项目 webbench 时,刚开始就被一个似乎挺陌生函数 getopt_long() 给卡住了,说实话这函数没怎么见过,自然不知道这哥们是干什么的.于是乎百度了一番,原来是处理命令行选项参 ...
- [转载][总结]函数getopt(),getopt_long及其参数optind
看webbench源码的时候碰到命令行解析工具getopt的使用,虽然之前也看过一点,但都不是很全面,只是了解个大概,下面稍微总结一下: getopt和optind: getopt被用来解析命令行选项 ...
- GNU C getopt()、getopt_long() 与 getopt_long_only() 获取命令行参数
1.背景 众所周知,C/C++ 程序的主函数有两个参数.第一个参数是整型,可以获得包括程序名字的参数个数,第二个参数是字符数组指针或字符指针的指针,可以按顺序获得命令行上各个字符串参数.其原型是: i ...
最新文章
- Hibernate QBC 分页
- Linux安装Apache报错:Cannot find a valid baseurl for repo: base/7/x86_64解决方案
- apollo 配置中心_Apollo配置中心搭建笔记
- python当中的生成器
- Mybatis助手之Mybatis-Plus——开始使用
- c++矩阵转置_lt;读书笔记4gt; 稀疏矩阵基础算法
- java8使用stream操作集合类,如何使用bigDicemal计算工资?
- ROS笔记(7) 话题通信
- 响应式Web设计的9项基本原则
- java个人中心修改界面怎么整_怎么对个人中心页面访问进行控制
- Maven学习总结(26)——maven update时,报:Preference node org.eclipse.wst.validation...
- 信用评分卡 (part 1 of 7)
- oracle不同值,Oracle一张表中实现对一个字段不同值和总值的统计(多个count)
- python刷新网页_python调用浏览器刷新网页的简单示例
- HITB CTF 2018 gundam 做题笔记
- Linux: 查看网络流量
- 幼麟棋牌创建房间逻辑分析
- 月薪过万的运维工程师都要会干什么
- JQuery弹幕发送
- 各国家 MCC 和 MNC 列表3
热门文章
- iOS----------苹果警告
- 黑盒测试实践(小组作业)每日例会记录——11.27
- error: Your local changes to the following files would be overwritten by merge
- 谈javascript变量声明
- 为什么static成员的类型可以是类本身?又为什么非static成员被限定声明为其自身类对象的指针或引用?...
- 第一章 打开MVC4的大门:(一)了解MVC
- 8086汇编学习小记-王爽汇编语言实验12
- CDOJ1633 Video Game Combos [AC自动机+dp]
- Lightingcolorfilter 滤镜
- AGC005D ~K Perm Counting