命令行选项解析函数getopt()

1、定义

int getopt(int argc, char * const argv[], const char *optstring);

2、描述

getopt是用来解析命令行选项参数的,但是只能解析短选项: -d 100,不能解析长选项:--prefix

3、参数

argc:main()函数传递过来的参数的个数
argv:main()函数传递过来的参数的字符串指针数组
optstring:选项字符串,告知 getopt()可以处理哪个选项以及哪个选项需要参数

4、返回值

(1)如果选项成功找到,返回选项字母;如果所有命令行选项都解析完毕,返回 -1
(2)如果遇到选项字符不在 optstring 中,返回字符 '?'
(3)如果遇到丢失参数,那么返回值依赖于 optstring 中第一个字符,如果第一个字符是 ':'
返回':',否则返回'?'并提示出错误信息。

5、相关变量:

optarg —— 指向当前选项参数(如果有)的指针
optind —— 再次调用 getopt() 时的下一个argv指针的索引
optopt —— 最后一个未知选项
opterr ­—— 如果不希望getopt()打印出错信息,则只要将全域变量opter
原文地址:https://www.cnblogs.com/soldierback/p/11107559.html