我有一個完全由控制檯/終端控制的較大的C++應用程序。大量的調試輸出被打印,但是它開始變得混亂。重要信息在各個模塊的一般狀態信息之間丟失。禁用這些輸出是不可能的,因爲它們實際上是故障的重要指標。相反,我認爲它可能更有助於「分割」屏幕,即在屏幕(終端)上的一種額外區域中具有特定的輸出。這可以被認爲是一個狀態欄(可能是多行)。具有恆定區域/狀態欄的C++終端輸出
我可以用ANSI代碼很容易地做到這一點,但仍然有很多printfs總是弄亂了輸出。滾動也是這樣打破的。
一個選項可能會使用ncurses,但我不想將整個應用程序移植到它。我試圖找出是否可以在ncurses應用程序中顯示正常的printf輸出(有點像終端控制檯中的終端:-)),但沒有找到任何。
我期待的任何建議,讓我加入這樣的事情很容易:
- 有一個固定大小的區域(前N線)上的終端輸出一些狀態信息
- 的餘屏幕上顯示的printf輸出
- 滾動時,固定大小的面積/狀態欄應該不會有不良影響(即我想正常滾動的printf的輸出,而不會丟失任何!)
代碼將在筆記本電腦上的Linux機器上運行(通常使用gnome終端)或通過ssh連接遠程運行。