apue

struct option { char name; int has_arg; int flag; int val; }

extern char *optarg; extern int optind, opterr, optopt;

int getopt_long(int argc, char **argv, char lopts, option lopts, int *longindex);

如果选项合法,返回选项 如果选项不合法,返回 '?'