linux getopt
来源:互联网 发布:js call和apply的区别 编辑:程序博客网 时间:2024/06/08 10:26
#include <unistd.h>int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;
该函数的argc和argv参数通常直接从main()的参数直接传递而来。
optstring是选项字母组成的字串,如果该字串里的任一字符后面有冒号,
那么这个选项就要求有选项参数。当给定getopt()命令参数的
数量 (argc)、指向这些参数的数组 (argv) 和选项字串 (optstring) 后,
getopt() 将返回第一个选项,并设置一些全局变量。使用相同的参数再次调用该函数时,
它将返回下一个选项,并设置相应的全局变量。如果不再有可识别的选项,将返回 -1,
此任务就完成了。
getopt() 所设置的全局变量包括:
char *optarg——当前选项参数字串(如果有)。
int optind——argv的当前索引值。当getopt()在while循环中使用时,
循环结束后,剩下的字串视为操作数,在argv[optind]至argv[argc-1]中可以找到。
int opterr——这个变量非零时,getopt()函数为“无效选项”和“缺少参数选项,并输出其错误信息。
int optopt——当发现无效选项字符之时,getopt()函数或返回’?’字符,或返回’:’字符,
并且optopt包含了所发现的无效选项字符
#include <unistd.h>int main (int argc, char **argv){ int oc; /*选项字符 */ char ec; /*无效的选项字符*/ char *b_opt_arg; /*选项参数字串 */ while((oc = getopt(argc, argv, ":ngl:")) != -1) { switch(oc) { case 'n': printf("My name is Lyong.\n"); break; case 'g': printf("Her name is Xxiong.\n"); break; case 'l': b_opt_arg = optarg; printf("Our love is %s\n", optarg); break; case '?': //对无效字符串的处理 ec = (char)optopt; printf("无效的选项字符 \' %c \'!\n", ec); break; case ':': //对无参数的处理 printf("缺少选项参数!\n"); break; } } return 0;}
0 0
- linux:getopt
- linux getopt
- Linux <getopt>
- getopt 详解 linux
- [Linux]getopt() 函数介绍
- getopt under Linux
- getopt 详解 linux
- Linux选项-getopt/getopt_long
- linux c getopt
- linux c getopt getopt_long
- linux之getopt 函数
- getopt 详解 linux
- getopt 详解 linux
- getopt 详解 linux
- linux getopt函数用法
- linux getopt详解
- linux之getopt 函数
- Linux getopt 函数用法
- 【Delphi】 微信和支付宝支付SDK(当面付) D7 D2010 XE2 XE7 XE8 XE10跨平台
- 什么是你的不可替代性和核心竞争力
- 使用百度地图api实现定位及选择位置功能
- C#之winform基础 listbox控件可以多选
- golang中踩的坑
- linux getopt
- python
- javascript实现proxy模式
- Masonry使用注意篇
- Java 调用与发布Web Service
- JVM内存配置参数
- android 7.0 网络请求相关主要类图
- 【算法之家】——归并排序
- NOIP2016提高A组模拟9.28总结