1.NCURSES 是什么?
你可能会疑惑,引入的这些技术术语是什么。假设在使用termcap 或者terminfo 的情况下,
每个应用程序都在访问terminfo 数据库并且做一些必要的处理(比如发送控制字符等等)。
不久这些操作的复杂度将会变得难以控制。于是,curses 诞生了。curses 的命名是来自一
个叫做“cursor optimization”(光标最优化)的双关语(译者注:curses 本身有诅咒的意思)。
curses 构成了一个工作在底层终端代码之上的封装,并向用户提供了一个灵活高效的API
(Application Programming Interface 应用程序接口)。它提供了移动光标,建立窗口,产
生颜色,处理鼠标操作等功能。使程序员编写应用程序不需要关心那些底层的终端操作。
那么ncurses 又是什么?ncurses 是最早的System V Release 4.0 (SVr4)中CURSES 的一
个克隆。这是一个可自由配置的库,完全兼容旧版本的curses。简而言之,它是一个管理
应用程序在字符终端显示的函数库。当后面提到curses 的时候,同时也可以和NCURSES
互换。
2. 我们可以用NCURSES 做什么?
ncurses 不仅仅封装了底层终端功能,而且提供了一个相当稳固的工作框架(Framework)
可以在字符模式下产生美观的界面。它提供了一些创建窗口的函数。而它的姊妹库Menu、Panel 和Form 则对curses 基础库及进行了扩展。这些扩展库通常都随同curses 一起发行。
我们可以建立一个同时包含多个窗口(