Je souhaite transmettre les arguments multiples avec des valeurs positives ou négatives. Est-il possible de l'analyser?BOOST options_programme: analyse de la liste des arguments multiples
Actuellement, j'ai une initialisation suivante:
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")
;
et je voudrais appeler:
./test_ids.x --IDlist=0 1 200 -2
unknown option -2
Ainsi, les program_options suppose que je passe -2 comme une autre option. Puis-je configurer les options_programme de telle sorte qu'elles puissent accepter les valeurs entières négatives?
Merci Arman.
EDIT: BTW je l'analyse par l'analyseur simple
store(command_line_parser(argc, argv).options(commands).run(), vm);
, mais solution était d'utiliser l'étendue d'un:
parse_command_line
program_options sont stripping "", donc "-2" est devenu -2, aussi l'option \ -2 prend comme option -2, les guillemets simples '-2' restent tels quels. – Arman
Donc les guillemets sont effacés et interprétés comme une autre option? C'est étrange, d'après la documentation [1] il semblait que ce serait le chemin à parcourir. [1] http://www.boost.org/doc/libs/1_42_0/doc/html/program_options/overview.html#id1419101 – kloffy
Je suppose que la citation de la liste entière ne fonctionne pas non plus?(--ID = "0 1 200 -2") – kloffy