例えば、
次のような構造オプションがあります。
struct option options[] = {
{"input", required_argument, NULL, OPT_INPUT},
{"flag", no_argument, NULL, OPT_FLAG},
}
ここで、プログラムのユーザーが誤って -input コマンドの後に入力ファイル名を省略した場合、次のようにフラグを渡します。
./program -input -flag
getopt_long_only は "-flag" を入力の引数として扱います。したがって、次の引数ではなく、プログラムの入力ファイルとして使用されます (したがって、-input の後に引数が渡されない場合はエラーが返されます)。どうすればこれを回避できますか?
GUN/LINUX (2.6.34.3) と gcc (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7) を使用しています。