Linux程序参数的获取

为了获取程序的参数,Linux C提供了标准编程接口:getopt函数,它支持需要关联值和不许要关联值的选项。

下面对函数介绍如下:

1 #include<unistd.h> *optstring);*optarg;optind,opterr,optopt;

getopt函数将传递给程序的main函数的argc和argv作为参数,同时接收一个选项制定符字符串optstring,该字符串告诉getopt哪些选项可用,以及他们是否存在关联值。如果一个字符后面紧跟一个冒号(:)表明选项有一个关联值作为参数。

getopt函数具体行为总结如下:

1.如果选项存在关联值,optarg指向这个值

2.如果选项处理完毕,返回-1,香港服务器,遇到特殊参数–直接停止扫描

3.如果遇到无法识别的选项,返回问号(?),并将值保存在optopt中,

4.如果选项需要一个关联值,服务器空间,用户没有提供,同样返回问号(?)如果在选项字符串第一个字符设置为冒号(:),那么同样的情况返回冒号(:)

5.optind指向其他参数,对于Linux环境,argv被改写,所有其他参数都已经被放在后面。

下面举例对getopt函数使用如下:

1 #include<stdio.h> 2 #include<unistd.h> 3 #include<stdlib.h>main(int argc,char *argv[]) 6 { 7int opt;)) != -1){ 9switch(opt){:::,opt);12break;:,optarg); ;:); ;:,optopt); ;22 }23 }(; optind < argc; optind ++),argv[optind]);27exit(0);28 }

程序测试如下图所示:

,香港空间都可以…孔子的,老子的. 孙子的…都可以

Linux程序参数的获取

相关文章:

你感兴趣的文章:

标签云: