2013-06-05 49 views
3

我正在使用Boost程序選項來分析命令行參數(我不想錯過它,因爲它工作得很好)。但是,我有一個問題:增強程序選項提供了爲每個選項分配說明的可能性。升壓,然後提供了可能Boost程序選項:說明對於終端來說太寬

cout << program_options_description << endl

很好地顯示幫助解釋的選項。但是,似乎是這種情況,這些錯誤信息被調整爲80的終端寬度(我從80的寬度中斷行被很好地設置的事實得出結論)。

如果我當前的終端有另一個寬度(特別是少於80列),由於終端自動換行,顯示的幫助看起來非常不自然。

所以:Boost是否可能會自動調整選項描述爲當前終端寬度?

回答

9

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上的終端寬度,然後將其傳遞給構造函數。或者如果你是窗戶,你可以打電話給GetConsoleScreenBufferInfo

+0

[見此SO帖子](http://stackoverflow.com/questions/6812224/getting-terminal-size-in-c-for-windows)這個完整的Windows代碼。 – ddevienne

相關問題