İstenmeyen parametreler nasıl kullanılır? Uygulamam için komut satırı ayrıştırma arabirimi sağlamak için boost::program_options
kullanıyorum. Ben seçenekleri ayrıştırmak için yapılandırmak istiyorumBoole :: 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);
Geçen anahtarından sonra her belirteç vektörü bir biçimde döndürülür için yapılandırmanız istiyorum. Boost belgelerinde verilen örneğe göre collect_unrecognized
kullanmayı denedim, ancak giriş dosyası için konumsal argümanlar kullanıyorum çünkü bazı sorunlara rastladım.
Temel olarak bunu böyle yapmak isterim. Ben varsa:
./program -i "inputfile.abc" argument1 argument2 argument3
Ben input-file
değerindeki inputfile.abc
depolamak ve bir vector<string>
argument1
, argument2
ve argument3
olarak istenmeyen tartışmaların dönmek istiyorum.
Ben ancak aynı zamanda
./program "inputfile.abc" argument1 argument2 argument3
bana aynı sonucu verecek şekilde, bir konumsal argüman var edebilmek istiyorum.
Bu zaten sorulmuşsa ve yardım için size teşekkür ederim.