3

我正在使用 C 语言。我想显示一个表格。我知道如何使用printf. 但是我有很多记录(超过几千条),我想一直在屏幕上保留两件事,并让记录的中间部分不断更新......

假设这里有一个表:

================================
No.| Name | Some Data | Comments
================================
001   xyz     234        abc
002   uvw     5862       abc
003   lmn     8993       abc
004
005
006
007
...
...
================================
Some result analysis goes here: 
================================

现在让我们假设这个表中有数千个条目,并且在不到一秒的时间内这个表正在更新,最终会发生什么?我将松开表格的页眉和页脚,例如:否,名称,一些数据和注释,以及页脚结果分析..

我想要的是不断更新条目,但保留表格的页眉和页脚。我该如何实现这个!任何想法?

4

3 回答 3

2

我会看一个像curses这样的 TUI 库。

Curses 旨在促进纯文本设备上的类似 GUI 的功能,例如在控制台模式下运行的 PC、硬件 ANSI 终端、Telnet 或 SSH 客户端或类似设备。

在 Curses 中,您可以在屏幕上创建包含页眉、页脚和数据的区域,并处理一些键盘键以实现滚动行。大概其他 TUI 库具有类似的功能。

于 2012-05-31T16:33:44.163 回答
1

假设您在具有典型终端的 Unix 环境中,您可以使用GotoXY()

使用该功能,您可以将光标向上移动到顶行(标题下方),打印一堆行,然后再次返回顶行以打印更多内容。

您必须跟踪已打印的行数(以及适合的行数),但这应该是一些相对微不足道的计数。

该代码使用终端转义序列来控制光标移动。

于 2012-05-31T16:30:52.027 回答
1

您使用的是 Unix/Linux 系统吗?如果是,可能你有ncurses库(man 3)。它是一个操作字符界面的库。
您可以创建“窗口”(屏幕部分)并仅更新此部分(保留页眉和页脚)。

于 2012-05-31T16:46:01.760 回答