boost::program_options
を使用して、アプリケーションにコマンドライン解析インターフェイスを提供します。私は最後のスイッチの後、すべてのトークンは、ベクターの形で返されるようにそれを設定したいboost :: program_optionsで不要なパラメータを処理する方法
using namespace boost::program_options;
options_description desc("Allowed options");
desc.add_options()
("help,h", "produce help message")
("version,v", "print the version number")
("include-path,I", value< vector<string> >(), "include path")
("input-file,i", value<string>(), "input file");
positional_options_description p;
p.add("input-file", 1);
variables_map vm;
parsed_options parsed = command_line_parser(ac, av).
options(desc).positional(p).run();
store(parsed, vm);
notify(vm);
、オプションを解析するように設定したいと思います。私はcollect_unrecognized
を使用してみましたが、Boostのドキュメントで与えられていますが、入力ファイルの位置指定引数も使用しているため、いくつか問題が発生しました。
基本的に私はこのようにしたいと思います。私が持っている場合:
./program -i "inputfile.abc" argument1 argument2 argument3
を私はそれがinput-file
値でinputfile.abc
を保存し、迷惑引数としてargument1
、argument2
とargument3
のvector<string>
を返すようにしたいと思います。
./program "inputfile.abc" argument1 argument2 argument3
は私に同じ結果を与えるように、しかし私はまた、位置引数を持ってできるようにしたいと思います。
ご迷惑をおかけして申し訳ございませんが、ご協力いただきありがとうございます。