如何通过getopt_long使用长选项:
例如:
--wide-option
我有--wide
和-w
。
在--wide-option
上,它会产生以下错误:
“无法识别的选项”
int main(int argc, char **argv)
{
struct option opts[] =
{
{"wide", 1, 0, 'w'},
{
0, 0, 0, 0
}
};
int option_val = 0;
int counter = 10;
int opindex = 0;
while ((option_val = getopt_long(argc, argv, "w:", opts, &opindex)) != -1)
{
switch (option_val)
{
case 'w':
if (optarg != NULL)
counter = atoi(optarg);
for (int i = 0; i < counter; i++)
printf("Hello world\n");
break;
default:
return 0;
}
}
return 0;
}
1条答案
按热度按时间1zmg4dgp1#
如果查看
cat
源代码(here),您可以看到--number
和--number-nonblank
是两个不同的选项(-b
和-n
)。(靠近第555行)。如果你想做同样的事,你可以这样说: