В настоящее время я работаю с boost::program_options
. Моя программа должна принимать в качестве аргументов (среди прочего...) произвольное количество "списков" произвольной длины. Например, пользователь должен иметь возможность вызывать
./myprogram -list item1 item2 item3 -list item1 item2 -list item1 item2
Очевидно, что я хочу получить в результате не один список/вектор со всеми элементами друг за другом, а (в данном случае) три списка/вектора (или, например, один вектор из векторов, содержащих элементы) с два или три элемента в списке (каждый элемент должен быть строкой, но я думаю, это не имеет значения). Как я уже говорил, количество списков (как и количество элементов в списке!) должно быть произвольным. Как я могу сделать это с boost::program_options
?
itemn
будет считаться отдельным вариантом. Одна вещь, которую вы можете сделать, это определить параметр, называемый списком, который имеет типvector<string>
, а затем, когда вы передаете аргументы, передаете строку с разделителями, например-list "item1,item2,item3" -list "item4,item5" -list "item1,tem2"
- person Nim   schedule 01.02.2016