C ++プログラムでgetoptを使用して、コマンドライン引数を解析しようとしています。引数は-dxxx、-s xxx、-?です。-をキャプチャするのに問題がありますか?標準の使用法メッセージを出力したい引数。
while ((c = getopt (argc, argv, "?d:s:")) != -1) {
switch (c) {
case 'd':
...do stuff
break;
case 's':
... do stuff
break;
case '?':
// From example on GNU page, seems to capture -d, -s when no args provided.
// Gets here when -d or -s provided, but no arguments for these options.
default:
// shut down
}
頑張ってみても、「-?」を捉えられないようです。独自のオプション。'をキャッチするための特別なトリックはありますか?' そのままで?getoptに正しいパターンを提供しましたか(つまり、'?d:s:')現在、cは'?'に設定されています。'?'であっても、無効なオプションが指定された場合は常に コマンドラインでは提供されません。
みんなありがとう。