getopt函数的使用
2014-02-09 13:15
399 查看
在不知道这个函数之前会自己写一套函数来处理程序的输入参数。现在有了getopt就可以很方便的提取命令行参数了。下面就来说说getopt的使用。
要想使用getopt这个函数,必须包含相对应的头文件,这个头文件是:unistd.h。
和getopt相关的几个变量需要我们注意:
下面再来看看getopt的函数原型:int getopt (int argc, char *const *argv, const char *options)
argc标识选项个数,argv输入参数向量, 这两个参数对应了main函数中的两个参数。options标识了合法的选项名称。
option的规则如下,每一个字符代表了一个option,字符后面可以带有(:)和(::),分别表示该选项必须有参数和参数可选。比如“a:”标识选项a必须有对应参数,“a::”a选项后可以不加参数。
getopt每一次会返回对应的选项,返回-1表示处理结束。
getopt函数的不足在于它能处理的选项都是单字符的(-a -b -c),如果输入选项是字符串(--verbose)那么就需要getopt_long来进行处理了。
参考文献:
http://www.gnu.org/software/libc/manual/html_node/Getopt.html#Getopt http://www.ibm.com/developerworks/cn/aix/library/au-unix-getopt.html
要想使用getopt这个函数,必须包含相对应的头文件,这个头文件是:unistd.h。
和getopt相关的几个变量需要我们注意:
int opterr | 如果这个变量不为0,那么当getopt检测到没有标识的输出参数是就会向标准打印上输出相应的信息。如果不想看到这些信息,那么在函数中只要将这个变量设置为0就好了 |
int optopt | 当getopt遇到了位置的输入选项,或者输入选项没有对应参数时,会将这个选项记录在这个变量中 |
int optind | 这个变量存储了下一个选项的起始位置 |
char * optarg | 这个变量指向了输入选项的对应参数 |
argc标识选项个数,argv输入参数向量, 这两个参数对应了main函数中的两个参数。options标识了合法的选项名称。
option的规则如下,每一个字符代表了一个option,字符后面可以带有(:)和(::),分别表示该选项必须有参数和参数可选。比如“a:”标识选项a必须有对应参数,“a::”a选项后可以不加参数。
getopt每一次会返回对应的选项,返回-1表示处理结束。
#include "unistd.h" #include "stdio.h" int main(int argc, char **argv) { int opt; opterr = 0; /* disable getopt() err info output */ while((opt=getopt(argc, argv, "xuns:"))!=-1) { switch(opt) { case 'x': printf("%c opt has been well received\n", opt); break; case 'u': printf("%c opt has been well received\n", opt); break; case 'n': printf("%c opt has been well received\n", opt); break; case 's': printf("%c opt has been well received\n", opt); printf("recved str:%s\n", optarg); break; default: printf("error:%c\n", optopt);/*optopt is another global virable provide by getopt, which stores unknown option*/ break; } } return 0; }
getopt函数的不足在于它能处理的选项都是单字符的(-a -b -c),如果输入选项是字符串(--verbose)那么就需要getopt_long来进行处理了。
参考文献:
http://www.gnu.org/software/libc/manual/html_node/Getopt.html#Getopt http://www.ibm.com/developerworks/cn/aix/library/au-unix-getopt.html
相关文章推荐
- C语言getopt()函数的使用
- getopt 函数使用
- C语言getopt()函数的使用及参数
- 关于C语言中getopt()函数的使用方法
- C语言getopt()函数的使用
- [Perl] Getopt 函数来接收用户参数的使用
- Linux下getopt()函数的简单使用
- C语言getopt()函数的使用
- getopt函数的使用
- getopt和getopt_long函数使用详解
- readlink、getopt函数使用
- C语言getopt()函数的使用
- Linux下getopt()函数的简单使用
- Python中的getopt函数使用详解
- C语言getopt()函数的使用
- Windows下使用GetOpt函数使用
- getopt函数的使用
- C语言 getopt()函数的使用
- [记忆]Getopt 函数使用说明
- getopt函数的使用