我有一个完全由控制台/终端控制的较大的C++应用程序。大量的调试输出被打印,但是它开始变得混乱。重要信息在各个模块的一般状态信息之间丢失。禁用这些输出是不可能的,因为它们实际上是故障的重要指标。相反,我认为它可能更有助于“分割”屏幕,即在屏幕(终端)上的一种额外区域中具有特定的输出。这可以被认为是一个状态栏(可能是多行)。具有恒定区域/状态栏的C++终端输出
我可以用ANSI代码很容易地做到这一点,但仍然有很多printfs总是弄乱了输出。滚动也是这样打破的。
一个选项可能会使用ncurses,但我不想将整个应用程序移植到它。我试图找出是否可以在ncurses应用程序中显示正常的printf输出(有点像终端控制台中的终端:-)),但没有找到任何。
我期待的任何建议,让我加入这样的事情很容易:
- 有一个固定大小的区域(前N线)上的终端输出一些状态信息
- 的余屏幕上显示的printf输出
- 滚动时,固定大小的面积/状态栏应该不会有不良影响(即我想正常滚动的printf的输出,而不会丢失任何!)
代码将在笔记本电脑上的Linux机器上运行(通常使用gnome终端)或通过ssh连接远程运行。