getopt,
2015-06-22 10:12
232 查看
函数说明 getopt()用来分析命令行参数。参数argc和argv分别代表参数个数和内容,跟main()函数的命令行参数是一样的。
参数 optstring为选项字符串,
告知 getopt()可以处理哪个选项以及哪个选项需要参数,如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数。
如:iError = getopt(argc,
argv, "ls:f:h:d:"); 中支持选项l,但后面不跟参数,使用时直接为-l ;选项s,冒号表示后面跟相关的参数,全域变量optarg 即会指向此额外参数,使用时为 -s 参数值 ;选项h和选项d一样后跟相关参数
再如:
optstring中的指定的内容的意义(例如getopt(argc, argv, "ab:c:de::");)
1.单个字符,表示选项,(如上例中的abcde各为一个选项)
2.单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。(如上例中的b:c:)
3 单个字符后跟两个冒号,表示该选项后可以跟一个参数,也可以不跟。如果跟一个参数,参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。(如上例中的e::,如果没有跟参数,则optarg = NULL)
返回值
getopt()每次调用会逐次返回命令行传入的参数。
当没有参数的最后的一次调用时,getopt()将返回-1。
当解析到一个不在optstring里面的参数,或者一个必选值参数不带值时,返回'?'。
当optstring是以':'开头时,缺值参数的情况下会返回':',而不是'?' 。
这个函数的头文件为#include <unistd.h>
参数 optstring为选项字符串,
告知 getopt()可以处理哪个选项以及哪个选项需要参数,如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数。
如:iError = getopt(argc,
argv, "ls:f:h:d:"); 中支持选项l,但后面不跟参数,使用时直接为-l ;选项s,冒号表示后面跟相关的参数,全域变量optarg 即会指向此额外参数,使用时为 -s 参数值 ;选项h和选项d一样后跟相关参数
再如:
optstring中的指定的内容的意义(例如getopt(argc, argv, "ab:c:de::");)
1.单个字符,表示选项,(如上例中的abcde各为一个选项)
2.单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。(如上例中的b:c:)
3 单个字符后跟两个冒号,表示该选项后可以跟一个参数,也可以不跟。如果跟一个参数,参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。(如上例中的e::,如果没有跟参数,则optarg = NULL)
返回值
getopt()每次调用会逐次返回命令行传入的参数。
当没有参数的最后的一次调用时,getopt()将返回-1。
当解析到一个不在optstring里面的参数,或者一个必选值参数不带值时,返回'?'。
当optstring是以':'开头时,缺值参数的情况下会返回':',而不是'?' 。
这个函数的头文件为#include <unistd.h>
相关文章推荐
- RedHat Linux RPM方式安装MySQL5.6
- CentOS 6.6 安装SalkStack
- apache chiro 使用手册
- MyBatis学习门户网站(一)
- 在Linux中调度功能是由哪个函数来实现的???
- 进程管理与SELinux初探
- tomcat、servlet、jsp的一个典型例子
- Linux常用命令英文全称与中文解释Linux系统
- 在家里安装openstack的过程
- YARN系统官方文档翻译
- Shell逐行读取文件的4种方法
- SharePoint Server 2016更新之(二,三)受云端影响的架构,合规和报告
- 转载的,linux 14.04安装双显卡的驱动,切换
- DHCP Option 60 认识
- linux通过使用mail发送电子邮件
- linux新的API signalfd、timerfd、eventfd使用说明
- shell文字过滤程序(十一):paste命令
- Tutorial 8:Scaling Transformation
- EntityFramework5.0 DataBase-First 在三层架构中的使用,分离实体类到Model层。
- 用USB安装Linux系统(centos7)