【问题标题】:C++ Boost.Program_options Features [closed]C ++ Boost.Program_options功能[关闭]
【发布时间】:2013-07-14 17:52:09
【问题描述】:

我正在考虑使用 Boost.Program_options 来解析 C++ 中的命令行。现在,我是一个完整的 C++ 新手,所以我会很感激一些耐心:-) 我什至不知道如何在我的项目中“添加引用”到这个库,但我以后会自己弄清楚。

我已阅读 Boost.Program_options 教程,但我不确定它是否适合我的程序所需的所有要求。实际上,我 90% 肯定我会使用它,但我希望有更多经验的人给我 100% 肯定。

所以,我的要求是:

1) myprogram -mode1
2) myprogram -mode1 filePathWithBlankSpaces
3) myprogram
4) myprogram -mode2 filePathWithBlankSpaces
5) myprogram -mode1 filePathWithBlankSpaces -parameter1 doubleValueOfTheParameter
6) myprogram -help
7) myprogram -mode3 parameter1 parameter2 parameter3 parameter4
8) myprogram -mode4

观察: filePathWithBlankSpaces、parameterX 和 doubleValueOfTheParameter 是参数。

我主要关心的是要求 2,5 和 7。

【问题讨论】:

  • -1。您是否要求为您阅读文档?谢谢,但没有。
  • 7) 是有问题的。我想你需要说myprogram -mode3 "p1 p2 p3 p4"——也就是说,在参数周围加上引号。鉴于您的要求,编写自己的命令行解析器并不难。
  • boost program_options 几乎遵循 unix 约定,所以只要字符串用引号括起来,空格就不是问题,支持double,支持std::vector。那么有什么问题呢?

标签: c++ boost


【解决方案1】:

如果您的问题只是“boost::program_options 是否适合我的需要”别名“我可以编写一个带有调用选项的程序,还带有多个参数”,那么答案绝对是。。 p>

如果你问它是怎么做的,问它,我会为你编辑这个答案。

【讨论】:

    猜你喜欢
    • 2023-01-11
    • 2011-01-02
    • 2020-12-09
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2021-02-02
    • 2015-01-22
    • 1970-01-01
    相关资源
    最近更新 更多