【问题标题】:Boost Program Options: Description too wide for terminalBoost 程序选项:终端的描述太宽
【发布时间】:2013-06-05 09:11:47
【问题描述】:

我正在使用 Boost Program Options 来解析命令行参数(我不想错过它,因为它很好用)。但是,我有一个问题:Boost 程序选项提供了为每个选项分配描述的可能性。 Boost 然后提供了可能性

cout << program_options_description << endl

很好地显示帮助解释选项。但是,似乎这些错误消息被调整为 80 的终端宽度(我的结论是,对于 80 的宽度,换行符设置得很好)。

如果我当前的终端有另一个宽度(特别是少于 80 列的终端),由于终端自动换行,显示的帮助看起来很不自然。

那么:Boost 是否有可能自动将选项描述调整为当前终端宽度?

【问题讨论】:

    标签: c++ boost-program-options


    【解决方案1】:

    options_description 接受列宽作为参数。

    options_description(const std::string &, unsigned = m_default_line_length, 
                          unsigned = m_default_line_length/2);
    

    我相信m_default_line_length 的默认值为 80。此外,see this SO question 获取 linux 上的终端宽度,然后将其传递给构造函数。或者如果你是 Windows,你会想打电话给GetConsoleScreenBufferInfo

    【讨论】:

    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多