我正在使用boost :: program_options来实现具有以下语法的命令行实用程序:
myutil command [--in file_name] [---out file_name]
其中'command'是必需的,并且是以下之一:
read | write | find | version | help
问题是'命令'不应该需要--
或-
而且我还没有找到如何使用boost :: program_options做到这一点。
答案 0 :(得分:10)
没有名称的命令行选项称为 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);