Linux系统下,需要大量的命令行选项,如果自己手动解析他们的话实在是有违软件复用的思想,不过还好,GNU C library留给我们一个解析命令行的接口(X/Open规范),好好使用它可以使你的程序改观不少。 使用getopt_long()需要引入头文件 #include <getopt.h> 现在我们使用一个例子来说明它的使用。 一个应用程序需要如下的短选项和长选项。
-h --help 输出程序命令行参数说明然后退出 为了使用getopt_long函数,我们需要先确定两个结构: 1.一个字符串,包括所需要的短选项字符,如果选项后有参数,字符后加一个":"符号。本例中,这个字符串应该为"ho:v"。(因为-o后面有参数filename,所以字符后面要加":") 2.一个包含长选项字符串的结构体数组,每一个结构体包含4个域,第一个域为长选项字符串,第二个域是一个标识,只能为0或1,分别代表没有、有。第三个域永远为NULL。第四个域为对应的短选项字符串。结构体数组的最后一个元素全部为NULL和0,标识结束。在本例中,它应该像一下的样子: const struct option long_options[] = { 调用时需要把main的两个参数argc和argv以及上述两个数据结构传给getopt_long。 这一个例子代码为下:
//编译使用gcc -o getopt_long getopt_long.c /*程序的名字*/ /* 打印程序参数 */
|
相关文章
- 使用Storm实现实时大数据分析(转)
- 使用Storm实现实时大数据分析!
- Android 手机卫士--九宫格使用
- 使用sklearn中的fetch_mldata的错误情况以及可能可行的解决方法
- MJRefresh框架使用及说明
- 解决Oracle ORA-01033: ORACLE initialization or shutdown in progress错误 和 ORA-01589错误 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
- 使用dbms_output.put_line打印异常所在的行
- MySQL索引的使用方式和缺点
- Redis使用系列目录(一)
- AutoMapper在asp.netcore中的使用