Webbech学习之getopt_long函数
来源:互联网 发布:美国大数据公司 年薪 编辑:程序博客网 时间:2024/06/06 04:42
getopt_long()函数的作用
int getopt_long(int argc, char * const argv[],const char *optstring, const struct option *longopts,int *longindex);
函数中的argc和argv通常直接从main()的两个参数传递而来。optsting是选项参数组成的字符串:
optstring是一个字符串,表示可以接受的参数。例如,"a:b:cd",表示可以接受的参数是a,b,c,d,其中,a和b参数后面跟有更多的参数值。(例如:-a host -b name)
参数longopts,其实是一个结构的实例:
=====================================================================================================
Linux系统下,需要大量的命令行选项,如果自己手动解析他们的话实在是有违软件复用的思想,不过还好,GNU C library留给我们一个解析命令行的接口(X/Open规范),好好使用它可以使你的程序改观不少。
使用getopt_long()需要引入头文件:#include<getopt.h>
现在我们使用一个例子来说明它的使用。
一个应用程序需要如下的短选项和长选项
短选项 长选项 作用
-h --help 输出程序命令行参数说明然后退出
-o filename --output filename 给定输出文件名
-v --version 显示程序当前版本后退出
为了使用getopt_long()函数,我们需要先确定两个结构:
1.一个字符串,包括所需要的短选项字符,如果选项后有参数,字符后加一个":"符号。本例中,这个字符串应该为"ho:v"。(因为-o后面有参数filename,所以字符后面需要加":")。
2. 一个包含长选项字符串的结构体数组,每一个结构体包含4个域,第一个域为长选项字符串,第二个域是一个标识,只能为0或1,分别代表没有选项或有选项。第三个域永远为NULL。第四个选项域为对应的短选项字符串。结构体数组的最后一个元素全部位NULL和0,标识结束。在本例中,它应为以下的样子:
const struct option long_options[] = {
{"help", 0, NULL, 'h'},
{"output", 1, NULL, 'o'},
{"version", 0, NULL, 'v'},
{NULL, 0, NULL, 0}
};
调用时需要把main的两个参数argc和argv以及上述两个数据结构传给getopt_long()函数。
- Webbech学习之getopt_long函数
- getopt_long函数学习笔记
- linux之getopt_long函数
- linux之getopt_long函数
- 关于getopt_long函数的学习
- linux之getopt_long函数解析
- webbench学习之getopt_long,atio
- getopt_long函数
- getopt_long函数
- 命令行处理之getopt和getopt_long函数
- getopt 函数 getopt_long函数
- getopt_long()函数的作用
- getopt_long()函数的作用
- getopt和getopt_long函数
- getopt_long()函数作用
- getopt,getopt_long函数详解
- getopt和getopt_long函数
- getopt和getopt_long函数
- [Underfail][CodeForces.717.G][费用流]
- poj1321棋盘问题
- 【Maven实战】04 坐标
- HDU 1300 Pearls DP .
- 数据类型
- Webbech学习之getopt_long函数
- Redis深入理解-数据结构篇(1)-简单动态字符串SDS
- 类和对象的基础8——对象指针和对象数组
- 【8】SchedulerListeners
- (转)资管的四个未来?——寻找中国非银金融的Alpha
- DDR工作原理
- 数据结构_ST算法+二分搜索_GCD问题
- abs和fabs的区别
- 压缩图片的方法