getopt()函数:分析命令行参数
2016-10-09 14:55
260 查看
头文件 #include <unistd.h>
定义函数:int
getopt(int argc, char * const argv[], const char * optstring);
函数说明:getopt()用来分析命令行参数。
1、参数argc 和argv 是由main()传递的参数个数和内容。
2、参数optstring 则代表欲处理的选项字符串。
此函数会返回在argv 中下一个的选项字母,此字母会对应参数optstring 中的字母。
如果选项字符串里的字母后接着冒号":",则表示还有相关的参数,全域变量optarg 即会指向此额外参数。
如果getopt()找不到符合的参数则会印出错信息,并将全域变量optopt 设为"?"字符, 如果不希望getopt()印出错信息,则只要将全域变量opterr 设为0 即可。
返回值:如果找到符合的参数则返回此参数字母, 如果参数不包含在参数optstring 的选项字母则返回"?"字符,分析结束则返回-1.
执行:
$. /getopt -b
option b:b
$. /getopt -c
other option:c
$. /getopt -a
other option :?
$. /getopt -a12345
option a:'12345'
定义函数:int
getopt(int argc, char * const argv[], const char * optstring);
函数说明:getopt()用来分析命令行参数。
1、参数argc 和argv 是由main()传递的参数个数和内容。
2、参数optstring 则代表欲处理的选项字符串。
此函数会返回在argv 中下一个的选项字母,此字母会对应参数optstring 中的字母。
如果选项字符串里的字母后接着冒号":",则表示还有相关的参数,全域变量optarg 即会指向此额外参数。
如果getopt()找不到符合的参数则会印出错信息,并将全域变量optopt 设为"?"字符, 如果不希望getopt()印出错信息,则只要将全域变量opterr 设为0 即可。
返回值:如果找到符合的参数则返回此参数字母, 如果参数不包含在参数optstring 的选项字母则返回"?"字符,分析结束则返回-1.
#include <stdio.h> #include <unistd.h> int main(int argc, char **argv) { int ch; opterr = 0; while((ch = getopt(argc, argv, "a:bcde")) != -1) switch(ch) { case 'a': printf("option a:'%s'\n", optarg); break; case 'b': printf("option b :b\n"); break; default: printf("other option :%c\n", ch); } printf("optopt +%c\n", optopt); }
执行:
$. /getopt -b
option b:b
$. /getopt -c
other option:c
$. /getopt -a
other option :?
$. /getopt -a12345
option a:'12345'
相关文章推荐
- getopt--命令行参数分析函数
- getopt函数的使用——分析命令行参数
- getopt函数分析命令行参数
- 函数说明 getopt()用来分析命令行参数
- C/C++—— 分析命令行参数的getopt()函数使用介绍
- getopt()函数(分析命令行参数)
- 【转】getopt分析命令行参数
- linux getopt函数详细分析
- 分析命令行参数——getopt
- getopt.c 可在windows下分析命令行参数,没有实现getopt_long
- getopt(分析命令行参数)
- getopt() 分析命令行函数
- getopt函数分析
- getopt(分析命令行参数
- getopt(分析命令行参数)
- 读取命令行参数的getopt()函数
- getopt_long函数解析命令行参数
- python的命令解析getopt.getopt()函数分析
- getopt(分析命令行参数)
- getopt 分析命令行参数