最近在学习Linux下的编程,就记录一下学习过程吧
getopt 是用来解析命令行的。
要使用getopt相关的函数就需要 导入 unistd.h 这个头文件0.0
main函数的声明是这样的(或许不是标准的):
int main(int argc,char *argv[])
argc 是命令行的数量,argv则是一个命令行“内容”数组。
特别有一点需要主要,命令是以空格为分割的,如果参数中有空格可以加引号。
getopt就能将标准的参数解析出来,这就非常的方便了,使开发更加高效。
getopt函数原型:
int getopt( int argc, char *const argv[], const char *optstring );
argc和argv直接传入main 函数的参数即可~
optstring 是所有选项的字母。 字符后面跟冒号表示该选项是有参数的,如果跟两个冒号就表示参数是可以忽略的。 如"o:i:s::v"
-o 是一个有参数的选项
-i 是一个有参数的选项
-s 是一个可以忽略参数的选项
-v 是没有参数的选项
返回值:
getopt返回选项字母ascill值,如果解析失败返回 '?'
全局变量:
opterr 是一个全局变量,如果设置为0,解析如果遇见问题就不会提示用户。 当然这个是懒人必备的东西啦。
optarg 是解析的参数字符串指针。
如: -o a.out optarg 就指向 a.out 的地址。 这个地址应该是以argv中的原本,而不是拷贝版本。
虽然是一个很Easy的东西,但是编程重在积累。