увеличить синтаксический анализ без учета регистра

Кто-нибудь работал, как получить расширенные параметры программы для анализа нечувствительных к регистру списков аргументов

В документации Boost кажется, что это поддерживается. Увидеть http://www.boost.org/doc/libs/1_53_0/boost/program_options/cmdline.hpp

А именно, установка флага перечисления style_t, такого как long_case_insensitive. Однако я не уверен, как это сделать. Например, как получить следующий фрагмент кода для принятия —Help или —help или —HELP

    po::options_description desc("Allowed options");
desc.add_options()
("help", "produce help message")
("compression", po::value<double>(), "set compression level")
;

po::variables_map vm;
po::store(po::parse_command_line(ac, av, desc), vm);
po::notify(vm);

if (vm.count("help")) {
cout << desc << "\n";
return 0;
}

2

Решение

Вы можете изменить стиль при вызове магазина. Я считаю, что это должно работать для вас:

namespace po_style = boost::program_options::command_line_style;

po::variables_map vm;
po::store(po::command_line_parser(argc, argv).options(desc)
.style(po_style::unix_style|po_style::case_insensitive).run(), vm);
po::notify(vm);
7

Другие решения

Других решений пока нет …