次のコードがあります。
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;
}
}
ケース「b」でoptargを使用できるようにしたいのですが、デフォルト値を取得するために何も選択されていない場合。現在、引数が必要であり、それをバイパスできません。「b:」を「b」に置き換えると、引数が無視されます。
両方の状況で機能させるにはどうすればよいですか?