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

时间: 2024-12-18 20:45:48

curses库--libncurses5-dev--游标移动及萤幕的显示的相关文章

linux屏幕编程:curses库的使用

curses库是一组函数,可以用它来设置光标的位置和终端屏幕上显示的字符样式.curses库将终端屏幕看成是由字符单元组成的网格,每一个单元由(行.列)坐标对标示.坐标原点是屏幕的左上角,行坐标自上而下递增,列坐标自左而右递增. 这里介绍几个常用函数: initscr()        初始化curses库和tty endwin()         关闭curses库并重置tty refresh()        使屏幕按照自己的意图显示 move(r,s)        移动光标到屏幕的(r,

Windows下使用Python的Curses库时 No module named _curses问题

这个问题产生的 根本原因 是 curses 库不支持 windows.所以我们在下载完成python后(python 是自带 curses 库的),虽然在  python目录\Lib  中可以看到 curses 库,但其实我们是不能使用的.会产生如上的错误.在提示的文件 __init__ 文件中也确实可以找到  from _curses import *  这句话. 要解决这个问题,我们就需要使用一个 unofficial curses(非官方curses库)来代替 python 自带的curs

python安装curses库

windows系统在安装curses库时,如果直接使用conda或者pip安装,总是失败,到如下网址直接下载.whl文件,然后再用pip安装即可. https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses 原文地址:https://www.cnblogs.com/yunxiaofei/p/10562066.html

python curses库

今天论坛里有人问怎么实现类似linux top那样输出的效果. 单行不换行这个知道.但是这么多行一直输出还真没折腾过. 搜索发现 curses 可以实现这个效果. 一个把当前 ps aux 部分进程显示出来的脚本 #!/usr/bin/env python import curses import os ch = 0 while ch != ord("q"):     screen = curses.initscr()     screen.clear() #    screen.bo

Linux curses库使用

http://blog.csdn.net/byxdaz/article/details/1780449

ArchLinux最小化安装 必备库 常用命令

铸成强大的工作站环境——ArchLinux最小化安装 所有问题归结起来,只是一个问题:ArchLinux最小化安装,需要安装哪些包? 1.bash//最基本的Bash Shell(必须)2.bzip2//提供bzip2压缩与解压缩功能(非必须,但就算不选它,系统也会自动将其装上)3.coreutils//提供GNU环境下最基本的工具与命令(必须)4.dnsutils//DNS工具(必须)5.file//文件类型识别工具(必须)6.filesystem//提供基本的文件系统结构(必须)7.find

第十三章、学习 Shell Scripts

1. 什么是 Shell Script 1.1 干嘛学习 shell scripts 1.2 第一支 script 的撰写与运行 1.3 撰写 shell script 的良好习惯创建 2. 简单的 shell script 练习 2.1 简单范例: 对谈式脚本, 随日期变化, 数值运算 2.2 script 的运行方式差异 (source, sh script, ./script) 3. 善用判断式 3.1 利用 test 命令的测试功能 3.2 利用判断符号 [ ] 3.3 Shell sc

第十六章、例行性工作排程 (crontab)

1. 什么是例行性工作排程 1.1 Linux 工作排程的种类: at, crontab 1.2 Linux 上常见的例行性工作 2. 仅运行一次的工作排程 2.1 atd 的启动与 at 运行的方式: /etc/at.deny 2.2 实际运行单一工作排程: at, atq & atrm, batch 3. 循环运行的例行性工作排程 3.1 使用者的配置: /etc/cron.deny, crontab 3.2 系统的配置档: /etc/crontab 3.3 一些注意事项 4. 可唤醒停机期

linux打包压缩命令汇总

tar命令 [[email protected] ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩.-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩