我想在linux上写一个C程序,不断刷新屏幕并实时更新(例如类似于top
终端中的命令)。谁能指出我正确的方向。
为了保持它跨终端类型的可移植性,您需要使用一个库,例如ncurses http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/。查看该链接,它是一个详尽的教程。
这是一个基本程序,它在屏幕左上角打印不断增加的数字:
#include <stdio.h>
#include <ncurses.h>
int main (void)
{
/* compile with gcc -lncurses file.c */
int c = 0;
/* Init ncurses mode */
initscr ();
/* Hide cursor */
curs_set (0);
while (c < 1000) {
/* Print at row 0, col 0 */
mvprintw (0, 0, "%d", c++);
refresh ();
sleep (1);
}
/* End ncurses mode */
endwin();
return 0;
}
这就是刷新窗口的方式。现在,如果您想将数据行显示为top
确实如此,您显示的数据需要以有序的数据结构进行维护(根据您的数据,它可能像数组或链接列表一样简单)。您必须根据您的逻辑指示对数据进行排序,并在执行后重新写入窗口(如上例所示)clear()
or wclear()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)