У меня есть позиционная опция (имя файла), и я хочу, чтобы она была последней опцией. В принципе, пользователь может передать кучу материала в командной строке, а также использовать -F для имени файла. Однако я хочу, чтобы пользователь также имел возможность просто поместить имя файла в конец.boost :: program_options positional options
Например
./program --var 3 /path/to/file
код, который я в настоящее время внедрили позволяет вызывающему поместить имя файла, где в командной строке. Есть ли способ заставить позиционные аргументы всегда появляться после «обычных»?
Вот как позиционный аргумент я настройка:
pos_opts_desc.add("filename", -1);
И для разбора командной строки:
store(
command_line_parser(argc, argv).options(opts_desc).postional(pos_opts_desc).run(),
opts_var_map);
Заранее спасибо за помощь.
Edited добавить:
Я совершенно нормально с -F, устанавливается в любом месте в командной строке. Однако, если настройка была выполнена с помощью позиционной опции, я хочу убедиться, что позиционная опция находится в самом конце.
Хотя я пошел с более C++ 98 маршрутом, этот ответ указал мне в правильном направлении. Благодарю. –