我正在使用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 ..
我想要的是不断更新条目,但保留表格的页眉和页脚。我该怎么做呢!有什么想法吗?
答案 0 :(得分:2)
我会看一下像curses这样的TUI库。
Curses旨在促进纯文本设备上的类似GUI的功能,例如以控制台模式运行的PC,硬件ANSI终端,Telnet或SSH客户端或类似设备。
在Curses中,您可以在屏幕上创建包含页眉,页脚和数据的区域,并处理一些键盘键以实现滚动行。据推测,其他TUI库具有类似的功能。
答案 1 :(得分:1)
假设您使用的是具有典型终端的Unix环境,则可以使用GotoXY()。
使用此功能,您可以将光标向上移动到顶行(在标题下方),打印一堆行,然后再次返回到第一行以打印更多行。
您&# 39;我必须跟踪你打印的行数(以及适合的行数),但这应该是一些相对微不足道的计数。
代码使用终端转义序列来控制光标移动。
答案 2 :(得分:1)
您使用的是Unix / Linux系统吗?如果是,可能你有ncurses库(man 3)。它是一个操纵字符界面的库 您可以创建“窗口”(屏幕部分)并仅更新此部分(以保留页眉和页脚)。