我有以下代码:
char opt;
int bla1,bla2,bla3;
char *myarg = NULL;
while((opt = getopt(argc,argv,"a:b:cd")) != -1)
{
switch (opt)
{
case 'a':
bla1 = atoi(optarg);
break;
case 'b':
myarg = optarg;
break;
case 'c':
bla2 = 1;
break;
case 'd':
bla3 = 1;
break;
default:
break;
}
}
我希望能够对 case 'b' 使用 optarg,但如果没有选择任何内容来获取默认值。现在需要 arg 并且无法绕过它,如果我将“b:”替换为“b”,它会忽略该参数。
我怎样才能使它在这两种情况下都起作用?