分类: LINUX
2008-12-13 11:11:13
Stdscr: 和物理屏幕一样大小。
Curses主要有2种数据结构:stdscr, curscr。StdscrCurscr更重要,在curses函数产生输出的时候更新。即“standard screen.”。和stdout比较类似。是curses程序的默认输出窗口。Curscr类似,着重于当前时刻。Stdscr中的数据经refresh调用后显示。它比较stdscr和Curscr的区别,刷新屏幕。
Stdscr独立实现,不能直接访问。Curses程序从不使用curscr结构。输出的过程如下:
1. Use
curses functions to update a logical screen.
2. Ask
curses to update the physical screen with refresh.
这样程序使用简单,curses更新屏幕效率高,但是网速慢的时候可能有影响。
显示的字体一般都包含下划线和粗体。
Curses需要创建和消灭一些临时数据结构,所有curses程序必须先初始化库再使用,使用完毕要恢复,通用以下函数调用实现:initscr and endwin。
实例:输出”Hello World!”
# cat
screen1.c
/* A
simple program to show basic use of the curses library */
#include
#include
#include
int
main() {
initscr();
/* We move the cursor to the point (5,15) on the
logical screen,
print "Hello World" and refresh
the actual screen.
Lastly, we use the call sleep(2) to suspend
the program for two seconds,
so we can see the output before the program
ends. */
move(5, 15);
printw("%s", "Hello
World");
refresh();
sleep(2);
endwin();
exit(EXIT_SUCCESS);
}
#gcc
-o screen1 screen1.c -lncurses