8

私のプログラムには、名前とサイズのペアのリストがあります。

を使用してコマンドラインインターフェイスからこのリストを作成したいと思いますboost::program_options

次のようになります。

myProg --value( "John"、10)--value( "Steve"、14)--value( "Marge"、28)

私もこれを整理する必要があります-スティーブはジョンの後、リストのマージの前になります。それは可能boost::program_optionsですか?

このCLI構文は、リストを取得するための単なるアイデアです。あなたがより良いものを持っているなら、教えてください。

4

2 に答える 2

5

オプションを定義するだけです

("value", value<vector<YourPairType>>()->composing(), "description")

そして適切な

istream& operator >> (istream& in, YourPairType& pr) { /* ... */ }

それはあなたのフォーマットYourPairTypeからシングルを読み取ります。解析されたオプションは、コマンドラインに表示される順序で保存されます。in("John",10)

の代わりにカスタムバリデーターを使用すると、柔軟性を高めることができますoperator >>

于 2010-12-24T10:05:28.007 に答える
0

各行に1組の値を持つファイルを1つのオプションにすることができます。ファイルはプレーンASCIIテキストファイルにすることも、xmlファイルを使用することもできます。ブーストシリアル化を参照してください。

于 2010-12-23T14:33:48.437 に答える