您的位置:首页 > 运维架构 > Linux

linux获取命令行参数的函数getopt

2012-05-14 10:42 281 查看
需要用到的头文件

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

函数原型

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

执行过程

给定了命令参数的数量 (
argc
)、指向这些参数的数组 (
argv
) 和选项字符串 (
optstring
) 后,
getopt()
将返回第一个选项,并设置一些全局变量。使用相同的参数再次调用该函数时,它将返回下一个选项,并设置相应的全局变量。如果不再有识别到的选项,将返回
-1
,此任务就完成了。

参数和全局变量说明

getopt() 所设置的全局变量包括:

optarg——指向当前选项参数(如果有)的指针。

optind——再次调用 getopt() 时的下一个 argv 指针的索引。

optopt——最后一个已知选项。

对于每个选项,选项字符串 (optstring) 中都包含一个对应的字符。具有参数的选项(如示例中的 -l 和 -o 选项)后面跟有一个 : 字符。示例所使用的 optstring 为 Il:o:vh?(前面提到,还要支持最后两个用于打印程序的使用方法消息的选项)。

可以重复调用 getopt(),直到其返回 -1 为止;任何剩下的命令行参数通常视为文件名或程序相应的其他内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: