getopt–解析命令行选项
这个getopt函数解析命令行参数。它的参数argc和argv是在程序启动时传给main函数的参数个数和数组。argv元素以-开始的是选项元素。这个元素中的除了’-'字符之外的是选项字符。如果重复的调用getopt函数,它会从每个选项元素中返回选项字符。
变量optind是将要处理的argv的下一个元素的索引。系统初始化这个元素为1。
如果getopt找到了另一个选项字符,它返回这个字符,更新外部变量optind和静态变量nextchar。
如果没有更多的选项字符,getopt返回-1。
optstring是一个字符串包含了选项字符。如果一个字符跟着冒号,那么这个选项需要一个参数。所以getopt把一个指针指向argv元素放在optarg中。两个冒号意味着可选的参数。
getopt_long和getopt_long_only和getopt的行为一样,除了它也接收长选项。
struct option{
const char *name;
int has_arg;
int *flag;
int val;
};
name是长选项的名字。
has_arg是这个选择有没有参数。
TO DO
完善getopt的说明。