2011-01-12 4 views
5

C/C++では、コマンドライン引数を解析するのに、getopt_long()を使用できます。いくつかのオプションが必須であることを関数に伝えることは可能ですか?たとえば、startServerが呼び出されたときに、以下のポートに言及しなくても、構文解析でエラーが発生すると、getopt_longにどのように伝えることができますか?Cでのgetopt_long()の必須オプション

./startServer -port 80

注:私は、オプションとして必須の引数ではなく、オプションそのものの話ではないのです。

+0

私は疑問に思っています。そのオプションが見られたかどうかを把握していますか? – lijie

答えて

5

getopt_long()はC言語の一部ではありません。これはGNUの発明であり、一部のC実装では利用可能ですが、それはまったくありません。

glibc(ほとんどのLinuxディストリビューションで使用)のgetopt_long()のバージョンでは、オプションが必須であると指定することはできません。コマンドラインの解析が完了したら、明示的にチェックする必要があります。

関連する問題