我想解析两个不同的命令行参数:
file -f something -o something
我在互联网上找到了一些代码并且我改变了它但我无法解析它们。
int
main (int argc, char **argv)
{
char *fvalue = NULL;
char *ovalue = NULL;
int index;
int c;
opterr = 0;
while ((c = getopt (argc, argv, "fo:")) != -1)
switch (c)
{
case 'f':
fvalue = optarg;
break;
case 'o':
ovalue = optarg;
break;
default:
abort ();
}
printf ("fvalue = %s, ovalue = %s\n",
fvalue, ovalue);
for (index = optind; index < argc; index++)
printf ("Non-option argument %s\n", argv[index]);
return 0;
}
答案 0 :(得分:2)
您的optstring错误,必须是
while ((c = getopt (argc, argv, "f:o:")) != -1)
冒号表示该选项需要参数。