用C语言更新表格格式

时间:2012-05-31 16:26:11

标签: c printf tabular

我正在使用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: 
================================

现在让我们假设这个表中有数千个条目,并且在不到一秒的时间内这个表正在更新,最终会发生什么?我会松开表格的页眉和页脚,如:No,Name,some data and comments,in footer results analysis ..

我想要的是不断更新条目,但保留表格的页眉和页脚。我该怎么做呢!有什么想法吗?

3 个答案:

答案 0 :(得分:2)

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

  

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

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

答案 1 :(得分:1)

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

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

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

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

答案 2 :(得分:1)

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