Frm: http://blog.csdn.net/Mary_Jane/article/details/50769631
介绍
ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。
ncurses名字中的n意味着“new”,因为它是curses的自由软件版本。由于AT&T“臭名昭著”的版权政策,人们不得不在后来用ncurses去代替它。
ncurses是GNU计划的一部分,但它却是少数几个不使用GNU GPL或LGPL授权的GNU软件之一。
其实我们对ncurses本身并不陌生,以下几款大名鼎鼎的软件都用到过ncurses:
- vim
- emacs
- lynx
- screen
为了制作自己构想了一段时间的Roguelike的游戏,同时作为对《The C Programming Language》的实践,我开始接触ncurses并在此作笔记。
安装
Linux
以Debian为例(人生中第一个发行版)
$ sudo apt-get install libncurses5-dev
安装完毕后,我们写下如下代码:
//test.c #include <string.h> #include <ncurses.h> int main(int argc,char* argv[]){ initscr(); raw(); noecho(); curs_set(0); char* c = "Hello, World!"; mvprintw(LINES/2,(COLS-strlen(c))/2,c); refresh(); getch(); endwin(); return 0; }
然后使用gcc编译后执行看看效果,不要忘了加-lncurses哦。
$ gcc test.c -o test -lncurses
$ ./test
不出意外的话结果如下: