在linux下,写一些小demo,需要配合参数的使用更灵活,参数的检测使用getopt()函数就非常方便。
函数:int getopt(int argc,char * const argv[ ],const char * optstring)
头文件:unistd.h
参数说明:
optstring:检索选项配置字符串。
规则:一个冒号表示该选项后面必须带有参数(没有参数会报错),参数可以和选项连在一起写,也可以用空格隔开;两个冒号表示该选项的参数是可选的,可以有参数,也可以无参数,但是需要注意,参数和选项之间不能有空格,否则报错。
返回值:
检索到选项字符值,如果出错,返回’?’
相关变量:
1、extern char* optarg
检索到当前选项的参数;
2、extern int optind
接下来检索的index;
3、extern int opterr
设置错误输出到哪里;
4、extern int optopt
当前检索的选项。
例程:
#include <stdio.h>
#include <unistd.h>
int main (int argc, char **argv)
{
int rtn;
while((rtn= getopt(argc, argv, "abc:")) != -1)
{
switch(rtn)
{
case 'a':
printf("case 'a'.\n");
break;
case 'b':
printf("case 'b'.\n");
break;
case 'c':
printf("case 'c' %s\n", optarg);
break;
}
}
return 0;
}