cureses 最早是由柏克莱大学的 Bill Joy 及 Ken Arnold 所发展出来的.
当时发展此一函数库主要原因是为了提高程序对不同终端的相容性而设
计的. 因此, 利用 curses 发展出来的程序将和您所使用的终端无关.
也就是说, 您不必担心您的程序因为换了一部终端而无法使用. 这对程
序设计者而言, 尤其是网络上程序的撰写, 是件相当重要的一件事.
curses之所以能对上百种以上的终端工作, 是因为它将所有终端的资
料, 存放在一个叫 termcap 的资料库, ( 而在第二版的 System V 系统中
, 新版的 curses 以 terminfo 取代原来的 termcap). 有了这些记录, 程
式就能够知道遇到哪一种终端时, 须送什麽字元才能移动光标的位置,
送什麽字元才能清除整个屏幕清除. (* 注一)
另外, 本文的介绍 以 System V 的 curses 版本为主.
■ 如何在您的程序使用 curses ?
在您的 C 程序的档头将 <curses.h> include 进来.当您引进 curses.h
这个函数库後, 系统会自动将 <stdio.h> 和 <unctl.h>一并 include 进
来.另外, 在 System V 版本中, <terminfo.h> 这个函数库也将一并
include进来.
helpwin=newwin(3,30,2,COLS/2-15 ); /* ONLINE HELP 的大小 */
box(helpwin,'|','-');
mvwaddstr(helpwin,0,10,"ONLINE HELP"); /* ONLINE HELP 的内容 */
mvwaddstr(helpwin,1,4,"Hit any key to continue..");
for (i=0;i<COLS-1;++i) /* 画两个视窗间的界限 */
mvaddch(LINES/2-1,i,'-');