Linux终端 - 打印大量数据

时间:2012-06-06 21:04:58

标签: c linux terminal

我用C编程语言编写应用程序,可以监视远程计算机系统信息,登录用户数,可用内存等。

我会将收集的信息写入标准输出。但通常会有一个单一的终端窗口有更多的信息,所以我需要实现某种“滚动”结果。

最简单的解决方案是我想打印例如前25行,然后等待用户向上或向下推,并相应地重写所有行。

是否有一些更简单/更优雅的方式来处理终端上的此类输出?

编辑:忘记提及,如果某些新输入来自某些远程计算机,我想刷新数据,例如:进程数量发生变化。

2 个答案:

答案 0 :(得分:3)

使用外部寻呼机(例如more(或less)对输出进行分页。 Unix的优势在于结合简单的命令,创建管道而不是重新发明已经存在的功能。

答案 1 :(得分:3)

听起来你需要诅咒。

这是guide to the ncurses library

这是一个老式的终端GUI库。 topmake menuconfig之类的东西使用它,因此它适用于每个系统。它允许你停止思考“打印25行和刷新”以及更多“在可滚动的文本区域中放置数据”。