Cでコマンドライン引数を解析する必要があります。私の引数は基本的にはデフォルト値と範囲制約を持つ intまたはfloatです。Cのデフォルト値と範囲の制約を持つ構文解析コマンド
私は、たとえば呼び出すoption_float(float* out, int argc, char* argv, char* name, description,
float default_val, int is_optional, float min_value, float max_value)
:
float* pct;
option_float(pct, argc, argv, "pct", "My super percentage option", 50, 1,
FALSE, 0, 100)
は、しかし、私は車輪の再発明をしたくない
私はこのような何かを実装するために始めました!
私の目的は、範囲の制約のエラーチェックを行い、 オプションがオプションではなく、設定されていないときにエラーをスローすることです。そして、通常はusage()関数によって与えられるヘルプメッセージを で生成します。
使用法テキストは、次のようになります。
--pct My super percentage option (default : 50). Should be in [0, 100]
私はgetoptの使用を開始しましたが、それは私がやりたいことのためにあまりにも限られており、私はそれがまだ ためにあまりにも多くのコードを書くために私を必要と感じますこのような単純なユースケースです。
どのような方法をお勧めしますか?ダブルダッシュオプションの
[C/UNIXのための引数構文解析ヘルパー](http://stackoverflow.com/q/189972/2509)はいくつかのオプションを上書きしています。私はあなたのすべての要件を満たすものは知らないが、 'gengetopt'は書かなければならないコードの量を減らすだろう。 – dmckee
gengetoptは残念ながらGPLですが、goptとglibは良い候補に見えます。私はこれらの2つのオプションを探求します。ありがとう – agramfort