getopt()函数(分析命令行参数)
2017-05-12 14:43
253 查看
头文件:
#include <unistd.h>函数形式:
int getopt(int argc, char* argv【】, const char* optstring);功能:
getopt直接分析命令行参数,找到选项和选项参数以及操作数的准确位置。参数:
optstring:
optstring里存放需要识别的选项字符(如果该选项有参数,则后面加冒号)。argc:
命令行字符串个数。argv:
命令行里的所有字符串将会以指针数组的形式存入argv【】里。返回值(optopt):
getopt函数每次返回一个选项字符,当没有选项时返回-1。当解析到一个不在optstring里面的参数,或者一个必选值参数不带值时,返回“?”。
当optstring是以':'开头时,缺值参数的情况下会返回“:”,而不是“?”。
全局变量:
char* optarg:
如果找到一个有参数的选项,则全局变量optarg将指向这个选项参数的首地址。int optind:
argv的当前索引值(下标)。当getopt()在while循环中使用时,循环结束后,剩下的字符串视为操作数,在argv【optind】或argv【argc-1】中可以找到。int optopt:
当发现无效字符时,函数返回“?”或“:”,并且optopt包含了发现的无效选项字符。int opterr:
这个变量非零时,函数为“无效选项”和“缺少参数选项”,并输出其错误信息。代码示范:
#include <stdio.h> #include <unistd.h> int main(int argc,char** argv){ int c; while((c = getopt(argc,argv,"ab:"))!=-1){ switch(c){ case 'a': printf("option a\n"); break; case 'b': printf("option b %s\n",optarg); break; default: perror("getopt error"); return 1; } } if(optind != argc -1){ printf("usage:%s getoption [-a] [-b <optarg>] <argument>\n",argv[0]); return 1; } printf("argument:%s\n",argv[optind]); }
结果:
相关文章推荐
- getopt()函数:分析命令行参数
- getopt函数分析命令行参数
- getopt--命令行参数分析函数
- 函数说明 getopt()用来分析命令行参数
- C/C++—— 分析命令行参数的getopt()函数使用介绍
- getopt函数的使用——分析命令行参数
- 命令行参数选项处理:getopt()及getopt_long()函数使用
- getopt(分析命令行参数)
- getopt(分析命令行参数)
- getopt() 分析命令行函数
- getopt函数分析
- getopt_long函数解析命令行参数
- linux获取命令行参数的函数getopt
- getopt(分析命令行参数)
- python的命令解析getopt.getopt()函数分析
- getopt(分析命令行参数)
- getopt(分析命令行参数)
- 分析命令行参数——getopt
- getopt()和getopt_long()函数参数分析
- getopt 分析命令行参数