linux c/c++中getopt的使用
来源:互联网 发布:旺铺 和淘宝区别 编辑:程序博客网 时间:2024/05/22 11:49
前言:有时候,我们的程序,需要接收命令行参数
但是一多起来的时候,会很乱。
有没有什么办法?能让我们按照格式来读入呢?
在linux(更不如确切的说是OSX),上面可以使用getopt()这么个库函数,每一次调用都会返回命令行中的下一个参数
这个库,包含在头文件unistd.h中
先来看下面的程序:
#include "stdio.h"#include "stdlib.h"#include "unistd.h"int main(int argc, char *argv[]){int index;char ch;while((ch = getopt(argc, argv, "dt:")) != EOF){switch(ch){case 'd':puts("enter d");break;case 't':puts("enter t");printf("optarg value is %s\n", optarg);break;default:return 1;}}argc -= optind;argv += optind;for(index = 0; index < argc; index++){puts(argv[index]);}return 0;}
简析一下这个程序的主要功能:
getopt(argc, argv,"dt:"))
他完成的意思是表示程序有一个-d和一个-t选项,但是你看-t后面还有一个冒号,表示-t参数后面,要跟着一个参数。
在-t参数被捕获的时候,则可以:
printf("optargvalue is %s\n", optarg);
这么样,用来得到-t后面的那个参数(其实是紧跟-t后面的字符串)
最末尾有两行这样的代码:
argc -= optind;argv += optind;
他表示跳过已经读取的参数,比如跳过了-d、-t和-t后面的那个字符串
执行的时候:
也可以连着写
但是像这样的情况,就不行了
因为第二个不是-t,就已经进入switch的default了
当然,当需要-d和-t都接收参数的时候,可以把原来的语句,修改成getopt(argc, argv, "d:t:"))
0 0
- linux c/c++中getopt的使用
- linux c getopt
- linux c getopt getopt_long
- C函数getopt使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- c语言中的getopt()、optind的使用
- C语言getopt()函数的使用
- C语言getopt函数的简单使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- C语言 getopt()函数的使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- C语言getopt()函数的使用
- 审批业务流程设计
- 电子邮件营销入门级营销策略加强版
- 查看网站被搜索引擎搜到多少的指令
- 新产品入市调研方案-项目流程
- 应用程序内支付介绍
- linux c/c++中getopt的使用
- Linux命令行下设置黑底绿字
- jvisualvm
- ppst 技术视频——oracle 性能优化
- 九度OJ 1162 I Wanna Go Home
- ArrayList 和LinkedList的排序问题
- 用宏求结构体的内存偏移地址
- html5通过ajax上传文件并显示进度
- 终于干了点正事。。三天用了三个库opencv、emgu、aforge.net[2011.7.30]