【发布时间】:2016-05-05 22:07:02
【问题描述】:
我有一个位置选项(文件名),我希望它是最后一个选项。用户可以在命令行中传入一堆东西,也可以使用-F 作为文件名。但是,我希望用户也能够将文件名放在末尾。
例如:
./program --var 3 /path/to/file
我目前实现的代码允许调用者将文件名放在命令行中的任何位置。有没有办法强制位置参数总是在“常规”参数之后?
这是我设置位置参数的方式:
pos_opts_desc.add("filename", -1);
并解析命令行:
store(
command_line_parser(argc, argv).options(opts_desc).positional(pos_opts_desc).run(),
opts_var_map);
提前感谢您的帮助。
编辑添加:
我完全可以在命令行的任何位置指定-F。但是,如果设置是通过位置选项完成的,我想确保位置选项位于最后。
【问题讨论】:
标签: c++ boost boost-program-options