Chciałbym przekazać wiele argumentów z wartościami dodatnimi lub ujemnymi. Czy można to przeanalizować?BOOST program_options: parsowanie wielu argumentów lista
Obecnie mam następujący inicjalizacji:
vector<int> IDlist;
namespace po = boost::program_options;
po::options_description commands("Allowed options");
commands.add_options()
("IDlist",po::value< vector<int> >(&IDlist)->multitoken(), "Which IDs to trace: ex. --IDlist=0 1 200 -2")
("help","print help")
;
i chciałbym zadzwonić:
./test_ids.x --IDlist=0 1 200 -2
unknown option -2
Tak, program_options zakłada, że jestem przechodzącej -2 jako inną opcję.
Czy mogę skonfigurować opcje programu w taki sposób, aby mógł akceptować ujemne liczby całkowite?
Dzięki Arman.
EDIT: BTW ja analizowania go przez prosty parser
store(command_line_parser(argc, argv).options(commands).run(), vm);
, ale solution było użyć przedłużony jeden:
parse_command_line
program_options są stripping "", więc "-2" stał -2, również \ -2 przyjmuje opcję \ -2, pojedyncze cudzysłowy "-2" pozostają takie, jakie są. – Arman
Więc cytaty są usuwane i jest interpretowane jako inna opcja? To dziwne, z dokumentacji [1] wydawało się, że to będzie droga. [1] http://www.boost.org/doc/libs/1_42_0/doc/html/program_options/overview.html#id1419101 – kloffy
Przypuszczam, że zacytowanie całej listy również nie działa?(--IDlist = "0 1 200 -2") – kloffy