getopt函数用于解析命令行参数
#include <unistd.h>
int getopt(int argc, char * const argv[],
const char *optstring);
extern char *optarg;
每一个参数项以'-'开始,循环调用getopt便可获取所有参数,当不再有选项时返回-1
optstring包含所有合法的选项字符,如果字符后跟冒号,则该选项必须有参数
while ((opt = getopt(argc, argv, "nt:")) != -1) {
switch (opt) {
case 'n':
break;
case 't':
nsecs = atoi(optarg);
break;
default:
fprintf(stderr, "Usage: %s [-t nsecs] [-n] name\n", argv[0]);
exit(EXIT_FAILURE);
}
}
示例中n后无冒号,可以不跟参数,t后有冒号,需跟有参数。