سؤال

I'm using boost::program_options to implement a command-line utility with this syntax:

myutil command [--in file_name] [---out file_name]

where 'command' is mandatory, and is one of the following:

read | write | find | version | help

the thing is that 'command' should not require -- or - and I have not found how to do that with boost::program_options.

هل كانت مفيدة؟

المحلول

The command line options which have no name are called positional options:

po::positional_options_description p;
p.add("command", -1);
po::variables_map vm;
po::store(po::command_line_parser(ac, av).
          options(desc).positional(p).run(), vm);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top