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

摘要:
Curses是一个在Linux/Unix下广泛使用的图形函数库,其功能是在DOS下绘制用户界面和漂亮的图形。curses的名称源自“光标优化”,即光标优化。它最初由美国伯克利大学的比尔·乔伊和肯·阿诺德编写,用于处理游戏机器人的屏幕显示。后来,贝尔实验室的马克·霍顿重写了System III Unix课程。现在几乎所有的Unix/Linux操作系统都带有curses函数库,curses还增加了对鼠标和一些菜单和面板处理的支持。可以说,curses是Linux终端图形编程的最佳选择。

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--游标移动及屏幕的显示》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Servlet第四篇【request对象常用方法、应用】Django框架详细介绍---请求流程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

centos+mono+nginx+jexus 搭建linux下c#运行环境测试

从零开始搭建Linux测试环境之dk+apache+jboss +mod_jk+openssl软件介绍1.JDK(Java DevelopmentKit)。Java开发工具包。大家都知道Java程序可以在绝大多数的机器上运行,不需要安装任何额外的软件,为什么我们要安装JDK呢?这是因为Java程序在开发过程中,需要将源代码转换为中间代码形式,也即class...

linux进阶之yum管理

一、部署私有repo源 1、官网下载需要的仓库: rsync -avrt --delete rsync://mirrors.ustc.edu.cn/centos/7/cloud/x86_64/openstack-pike /export/download/cloud/ 2、安装软件包: yum install yum-utils createrepo ng...

记linux下使用create_ap 创建热点失败及解决(涉及rfkill)

先介绍一下 create_ap. 这是一个在linux中创建热点用的脚本, 托管在github中, https://github.com/oblique/create_ap/ 正文开始: 习惯了windows下点点鼠标就能创建wifi热点的方式, 面对linux 的cli有种两眼一抹黑的感觉. 幸好偶然得知了 create_ap 这个脚本, 创建热点只要一...

linux c 用户态调试追踪函数调用堆栈以及定位段错误[转载]

一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。 在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。 int backtrace(void **buffer,int size) 该...

Linux中Cron任务间隔执行:每隔几分钟/几小时/几天

一、配置   1)全局用户配置文件(/etc/crontab)   直接VI等编辑就可以。   2)个人用户配置(临时配置)      加任务:     crontab -e     0 */1 * * * command     0 */2 * * * command   查询任务是否加了:     crontab -l     0 */1 * * *...

linux系统下获取cpu、硬盘、内存使用率

1.linux上安装snmp服务 第一步:在公司192.168.100.171 Linux虚拟机上安装snmp服务。 第二步:通过HOST-RESOURCES-MIB库中的节点获取对应的值。 第三步:只能通过:1.3.6.1.2.1.25.1.1.0节点对象获取到系统运行时间,无法获取到其他节点的值。 第四步:修改/etc/snmp/snmpd.conf文...