我正在使用Boost程序选项来解析命令行参数(我不想错过它,因为它工作得很好)。然而,我有一个问题: Boost程序选项提供了为每个选项分配描述的可能性。Boost然后提供了一种可能性:
cout << program_options_description << endl
以很好地显示解释选项的帮助。但是,这些错误消息似乎被调整为终端宽度80 (我的结论是,对于宽度为80的情况,换行符设置得很好)。
如果我当前的终端有另一个宽度(特别是少于80列的终端),由于终端自动换行,显示的帮助看起来非常不自然。
那么: Boost是否有可能自动将选项描述调整为当前的终端宽度?
发布于 2013-06-05 17:26:46
options_description接受列宽作为参数。
options_description(const std::string &, unsigned = m_default_line_length,
unsigned = m_default_line_length/2);我相信m_default_line_length的默认值是80。另外,在linux上使用see this SO question来获取终端宽度,然后将其传递给构造函数。或者,如果你是windows,你会想要调用GetConsoleScreenBufferInfo。
https://stackoverflow.com/questions/16935908
复制相似问题