Boost程序选项:描述对于终端来说太宽了



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

的可能性

cout << program_options_description << endl

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

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

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

options_description接受列宽度作为参数。

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

我相信m_default_line_length的默认值是80。此外,请参阅这个SO问题以获取linux上的终端宽度,然后将其传递给构造函数。或者如果你是windows,你会想要调用GetConsoleScreenBufferInfo

最新更新