Private: 私有的:getopt
bigzhu
posted @ Aug 10, 2007 03:18:00 PM
in cpp
, 1461 阅读
getopt(分析命令行参数)
表头文件#include
定义函数int getopt(int argc,char * const argv[ ],const char * optstring);
函数说明
getopt()用来分析命令行参数,每调用一次,取下一个argv[ ]
参数argc和 argv是由main()传递的参数个数和内容
参数optstring是 一个匹配字符串,多个匹配字符用:连接
此函数会返回某个optstring匹配字符
全域变量optarg 则被置为剔除了匹配字符的参数
如果getopt()找不到匹配的字符则会印出错信息,并将全域变量optopt设为”?”字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可
返回值
如果找到符合的参数则返回此匹配字符,如果对应参数未找到匹配的字符则返回”?”字符,分析结束则返回-1。
范例
@language c
#include
#include
int main(int argc,char **argv)
{
int ch;
opterr = 0;
while((ch = getopt(argc,argv,":a:b:cde"))!= -1)
switch(ch)
{
case 'a':
printf("ch = %c optarg=%s \n",ch,optarg);
break;
case 'b':
printf("ch = %c optarg=%s \n",ch,optarg);
break;
default:
printf("ch = %c optarg=%s \n",ch,optarg);
}
}