介绍#
GNU ncurses 是在 Unix、Linux 和其他操作系统下控制写入控制台屏幕的软件 API, 可以使用 ncurses 库在 Linux 或类 Unix 系统上创建基于文本的用户界面(TUI)。
ncurses (new curses) 是一套编程库,它提供了一系列的函数以方便使用者调用它们去生成基于文本的用户界面。
其实我们对 ncurses 本身并不陌生,以下几款大名鼎鼎的软件都用到过 ncurses:
- vim
- emacs
- lynx
- screen
- ……
安装与使用#
以 Ubuntu 22.04 为例
sudo apt-get install libncurses5-dev
安装完成后,我们使用如下代码来测试一下是否安装成功
#include <string.h>
#include <ncurses.h>
int main(int argc, char* argv[]) {
initscr();
raw();
noecho();
curs_set(0);
char* s = "Hello, Liu Yuhe!";
// 在屏幕的中央打印字符串
mvprintw(LINES / 2, (COLS - strlen(s)) / 2, "%s", s);
refresh();
getch();
endwin();
return 0;
}
gcc test.c -o test -lncurses