問題タブ [boost-program-options]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - boost::program_options の引数付きおよび引数なしのパラメータ
コマンドライン解析に boost::program_options を使用する小さなアプリを作成しました。引数が存在する場合は値を設定し、パラメーターが指定されているが引数が存在しない場合は現在の値を交互に出力するいくつかのオプションが必要です。したがって、「設定モード」は次のようになります。
「取得モード」は次のようになります。
問題は、この例外をキャッチせずに 2 番目のケースを処理する方法がわからないことです。
そのエラーをスローしないようにする簡単な方法はありますか? 引数が解析されるとすぐに発生します。
c++ - Boost.Program_options トークンの固定数
Boost.Program_options は、次のようにコマンド ライン引数を介して複数のトークンを渡す機能を提供します。
しかし、固定数の引数のみを受け入れる好ましい方法は何ですか? 私ができる唯一の解決策は、値を手動で割り当てることです。
これはちょっともったいない気がします。より良い解決策はありますか?
c++ - BOOST program_options:複数の引数リストの解析
正または負の値を持つ複数の引数を渡したいのですが。それを解析することは可能ですか?
現在、次の初期化があります。
そして私は電話したいと思います:
したがって、program_optionsは、別のオプションとして-2を渡すことを前提としています。
負の整数値を受け入れることができるようにprogram_optionsを構成できますか?
アーマンに感謝します。
編集: ところで、私は単純なパーサーでそれを解析していました
、しかし解決策は拡張されたものを使用することでした:
c++ - boost :: program_optionsのバグまたは機能?
非常に簡単な例:
そしていくつかのテスト:
そのboost::program_option脅威パラメータ「csv」を「csv_name」として表示します。
それは機能ですか、それともバグですか?
c++ - 16進入力でboostoptions_descriptionを使用するにはどうすればよいですか?
プログラムのオプションが次のようになるように、プログラムで動作する2つのオプション、開始アドレスと終了アドレスが必要です。
options_description
そのような16進入力を取ることは可能ですか?入力を文字列と見なして、16進値に変換する必要がありますか?私は現在これを持っています:
boost::lexical_cast
そのような変換を行うことができますか?
boost - boost::program_optionsのdefault_valueとimplicit_valueの違いは何ですか?
それが問題です。default_value よりも Implicit_value を使用したり、その逆を使用したりするのはなぜですか?
ありがとう!
c++ - boost :: program_optionsは「-」以外の区切り文字を使用できますか?
私は次のようなboost::program_optionsを使用しています:
コマンドラインパラメータを渡す-I hithere
と機能しますが、ブーストを渡すと、 「boost::any_castを使用した変換に失敗しました」のaがスローされ/I hithere
ます。boost::bad_any_cast
what()
program_optionsを使用して/
-delimittedまたは-
-delimittedオプションのいずれかを解析することは可能ですか?/
ボーナスの質問、同じオプションを設定するように構成できます-
が、バイナリは互いに反対ですか?たとえば、/verbose
詳細なログを意味する場合がありますが、詳細でないログを意味する場合-verbose
があります。
c++ - Boost の program_options で複雑なオプションを処理する
さまざまなマルチレベル モデルを使用してグラフを生成するプログラムがあります。各マルチレベル モデルは、いくつかのモデルから作成できる小さなシード グラフ (たとえば、50 ノード) の生成で構成されます (たとえば、可能なエッジごとに、確率 p で含めることを選択します)。
シード グラフの生成後、グラフは別のモデル セットの 1 つを使用して、より大きなグラフ (たとえば 1000 ノード) に拡張されます。
2 つの段階のそれぞれで、各モデルには異なる数のパラメーターが必要です。
モデルの名前に応じて、program_options にさまざまな可能なパラメーターを解析させたいと思います。
たとえば、2 つのシード グラフ モデルがあるとします。パラメータが 1 つある SA と、パラメータが 2 つある SB です。拡張部分についても、2 つのモデルがあります。A と B で、それぞれ 1 つと 2 つのパラメーターがあります。私は次のようなことができるようにしたいと思います:
パラメータを正しく解析します。それは可能ですか?
c++ - boost::program_optionsによるバッファオーバーフロー
boost:program_optionsの使用に問題があります
この単純なプログラムは、ブーストのドキュメントからコピーして貼り付けたものです。
バッファオーバーフローで失敗します。
「バッファセキュリティスイッチ」を有効にしましたが、実行すると「不明な例外(0xc0000409)」が発生します。desc.add_options()...
Visual Studio 2005を使用して、1.43.0をブーストします。
ちなみに、スイッチを非アクティブにすると実行されますが、ローカルで非アクティブにできない限り、そうすることに抵抗があります。
では、この問題の解決策はありますか?
編集 私はlibboost_program_options-vc80-mt.libに対してリンクしていた問題を見つけましたが、これは良いライブラリではありませんでした。
c++ - Program_optionsでカンマ区切りの引数値を区切ることができます
私のコマンドラインが次の場合:
Boostのprogram_optionsを設定して、引数の3つの異なる引数値を確認できますmylist
か?program_optionsを次のように構成しました:
mylist
引数の値を確認すると、 1つの値がとして表示されa,b,c
ます。カンマで分割された3つの異なる値が表示されます。コマンドラインを次のように指定すると、これは正常に機能します。
また
program_optionsを構成してa,b,c
、それぞれが1つではなく3つの値としてベクターに挿入されるようにする方法はありますか?
Boost 1.41、g ++ 4.5.0 20100520を使用しており、c++0xの実験的な拡張機能を有効にしています。
編集:
受け入れられたソリューションは機能しますが、ベクトルを反復処理して値を手動で分割するよりも、IMOの方が複雑になります。結局、私はJames McNellisからの提案を受け取り、それをそのように実装しました。しかし、彼の解決策は回答として提出されなかったので、私はhkaiserから他の正しい解決策を受け入れました。どちらも機能しましたが、手動のトークン化の方が明確です。