我正在使用 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。另外,see this SO question在 linux 上获取终端宽度,然后将其传递给构造函数。或者如果你是 Windows,你会想调用 GetConsoleScreenBufferInfo .
关于c++ - 升压程序选项 : Description too wide for terminal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16935908/