getopt()函数

来源:互联网 发布:数据库能干什么 编辑:程序博客网 时间:2024/06/11 02:11

getopt函数用来帮助命令开发者以一致的方式处理命令行选项。


#include<unistd.h>int getopt(int argc,char * const argv[ ],const char * optstring);extern char *optarg;extern int optind, opterr, optopt;返回值:若所有选项被处理完,返回-1;否则,返回下一个选项字符

参数argc和argv与main函数的一样。options参数是一个包含该命令支持的选项字符的字符串。对于这个字符串中的字符有三种情况:

1.单个字符,表示选项,
2.单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。
3 单个字符后跟两个冒号,表示该选项后可以跟一个参数,也可以不跟。如果跟一个参数,参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。(如果没有跟参数,则optarg = NULL)


getopt函数支持以下四个外部变量:

extern char* optarg;如果一个选项需要参数,在处理该选项时,getopt会设置optarg指向该选项的参数字符串。

extern int opterr;一个选项发生了错误,getopt会默认打印出一条出错消息。应用程序可以通过设置opterr参数为0来禁止这个行为。

extern int optind; 用来存放下一个要处理的字符串在argv数组里的下标。它从1开始,每处理一个,getopt都会对其递增1。

extern int optopt;如果选项发生了错误,getopt会设置optopt指向导致出错的选项字符串。




0 0
原创粉丝点击