首页 > 代码库 > curses库--libncurses5-dev--游标移动及萤幕的显示

curses库--libncurses5-dev--游标移动及萤幕的显示

curses是一个在Linux/Unix下广泛应用的图形函数库.,作用是可以绘制在DOS下的用户界面和漂亮的图形。

curses的名字起源于"cursor optimization",即光标优化。它最早由有美国伯克利大学的Bill Joy和Ken Arnold编写的,用来处理一个游戏rogue的屏幕显示。后来贝尔实验室的Mark Horton在System III Unix中重新编写了curses。现在几乎所有的Unix/Linux操作系统都带了curses函数库,curses也加入了对鼠标的支持,一些菜单和面板的处理。可以说,curses是Linux终端图形编程的不二选择(比如著名的文字编辑器 vi 就是基于curses编的)。

安装

Ubuntu下安装方法:
sudo apt-get install libncurses5-dev

用法

1. 包含头文件:curses.h
2. 编译时应加上链接语句-lcurses,如:gcc temp.c -o temp -lcurses

示例

屏幕中间显示字符
#include <curses.h>

int main()
{
    initscr();

    if(start_color() == OK)
    {
        init_pair(1, COLOR_RED, COLOR_GREEN);
        attron(COLOR_PAIR(1));
        move(LINES/2, COLS/2);
        waddstr(stdscr, "Yet another Hello world!");
        attroff(COLOR_PAIR(1));
        refresh();
        getch();
    } else {
        waddstr(stdscr, "Can not init color");
        refresh();
        getch();

    }

    endwin();
    return 0;
}

参考:

1. Linux curses库使用

2. http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/——《NCURSES Programming HOWTO》

3. http://invisible-island.net/ncurses/man/ncurses.3x.html——ncurses

curses库--libncurses5-dev--游标移动及萤幕的显示