我可以使用Boost :: program_options将可猜测和不可猜测的选项解析在一起吗?

时间:2014-09-05 13:13:44

标签: c++ boost boost-program-options

我有一些非常详细的选项,例如-length -strength,我想允许猜测它们,以便用户可以剪切它们的名字。

另一方面,一些选项的短名称彼此包括-K1 -K10,对于那些当然猜测应该被禁用。

我也有一个位置选项,我想对选项保持所有标准检查:例如我不想允许未知(错误输入)选项。

我想知道是否存在使用Boost :: program_options ...

实现此目的的方法

1 个答案:

答案 0 :(得分:1)

I read the docs而言,allow_guessing可以满足您的需求。

事实上,它根本不允许猜测:

  

allow_guessing

     

允许长选项的缩写拼写, 如果他们明确地识别长选项 。如果猜测生效,则没有长选项名称应该是其他长选项名称的前缀。

当然后者听起来像是一个惊人的限制,但事实并非如此。它只是告诉您,如果您有--Kool以及--KoolAid,则猜测会使整个--Kool模糊不清(因为它可能缩写为--KoolAid) 。

--KoolA不会含糊不清。 -K (请注意单个破折号)都不应该是因为它不是长格式选项,因此永远不会是缩写。