没有合适的资源?快使用搜索试试~ 我知道了~
getopt多参数解析函数具体分析命令行参数解析
需积分: 33 18 下载量 30 浏览量
2013-08-20
20:21:31
上传
评论
收藏 23KB DOCX 举报
温馨提示
试读
6页
getopt() 用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数optstring 则代表欲处理的选项字符串。此函数会返回在argv 中下一个的选项字母,此字母会对应参数optstring 中的字母。如果选项字符串里的字母后接着冒号“:”,则表示还有相关的参数,全域变量optarg 即会指向此额外参数。如果getopt()找不到符合的参数则会印出错信息,并将全域变量optopt设为“?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可。
资源推荐
资源详情
资源评论
转自:
getopt 被用来解析命令行选项参数。就不用自己写东东处理 了。
!"#
$ %& 选项的参数指针
$ '( 下一次调用 getopt 的时,从 ' 存储的位置处重新开始检查选
项。
$ ( 当 )* 时,getopt 不向 " 输出错误信息。
$ & 当命令行选项字符不包括在 " 中或者选项缺少必要的参数
时,该选项存储在 中,getopt 返回+?’
getopt, ( % " -.( " %"/&
调用一次,返回一个选项。 在命令行选项参数再也检查不到 " 中包含的选项时,
返回-,同时 ' 储存第一个不包含选项的命令行参数。
首先说一下什么是选项,什么是参数。
字符串 " 可以下列元素,
单个字符,表示选项,
单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以
空格隔开。该参数的指针赋给 。
单个字符后跟两个冒号,表示该选项后必须跟一个参数。参数必须紧跟在选项后不
能以空格隔开。该参数的指针赋给 。(这个特性是 012 的扩张)。
getopt 处理以+34开头的命令行参数,如 ")55(命令行为 getopt$ 3 3
" 366 3
在这个命令行参数中,3 和3 就是选项元素,去掉+3+,(( 就是选项。" 是 的参
数,66 是 的参数。但 并不是 的参数,因为它们中间有空格隔开。
还要注意的是默认情况下 getopt 会重新排列命令行参数的顺序,所以到最后所有不包
含选项的命令行参数都排到最后。
如 getopt$ 3 3 " 366 3 ( 都最后命令行参数的顺序是: 3 3 " 3
66 3
如果 " 中的字符串以+7+加号开头或者环境变量 89:;<=>?@9AAB 被设置。那么一
遇到不包含选项的命令行参数,getopt 就会停止,返回3。
!"#
!"#
!"#
, ( %%/
C
"&
) *& 使 不行 " 输出错误信息
D, ," ) ,( ( 55// E) 3 /
C
"D,"/
C
" ++
资源评论
wangseon
- 粉丝: 1
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功