4

私は、SVN、systemctl、またはその他のツールのように動作することが期待されるC++でプログラムを作成しています。

./a.out SUBCOMMAND [OPTION]... arguments-for-the-subcommand

例は次のようになります。

./a.out remove --recursive directory1 directory2

--recursiveオプションは、 removeサブコマンドに対してのみ有効です。

私は現在Boost.ProgramOptionsを使用していますが、試してもうまくいきませんでした(現在、GNU getoptの方法で引数を受け入れるプログラムだけがあります)。広くテストされたものがいいのですが、移植性があり、適切に機能する場合は、別のライブラリに切り替えても問題ありません。

よろしくお願いします。質問がうまく説明されていない場合は申し訳ありません。

よろしく、カリッシュ。

PS:これが役立つかどうかはわかりませんが、現在GCC4.7.2を使用しています。

4

1 に答える 1

2

Boostプログラムオプションを使用すると、複数のオプションリストを簡単に作成できるため、実際には非常に単純なはずです。

サブコマンドごとに1つ作成しargv[1]、サブコマンドが何であるかを確認して、正しいオプションリストを使用します。

于 2013-03-25T12:33:58.027 に答える