在Linux安装curses

curses是一个在Linux/Unix下广泛应用的图形函数库,作用是可以在终端内绘制简单的图形用户界面。

  1. 安装
    Ubuntu下安装方法:
    在终端输入如下命令:
    sudo apt-get install libncurses5-dev
    (如果发现找不到这个包,使用命令 sudo apt-get update 更新下包源)

但这样安装的库是没有文档的,就是我们无法使用man命令查询curses库中函数的用法,为了方便查阅curses库中函数的用法,可以使用如下命令安装curses库的文档:
sudo apt-get install ncurses-doc
2.用法

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

3.简单的一个例子:

/*-----------------------------------------------------------------A very simple example of curses programmingcoder: jellendate: 3-26-2004----------------------------------------------------------------*/#include <curses.h>  /*这是每个 curses 程序都必须包含的头文件,表明使用了curses库*/
int main()
{initscr();  /*初始化了屏幕, 使之开始进入curses图形化工作方式*/box(stdscr, ACS_VLINE, ACS_HLINE); /*draw a box*//*box(stdscr, ACS_VLINE, ACS_HLINE); 画了一个框. 有了这个框我们才有"窗体"的感觉. stdscr就是标准屏幕,  ACS_VLINE和ACS_HLINE代表构成方框两边的基本元素, 你也可以用 '|'和'-'代替, 不过可能没有ACS_VLINE,  ACS_HLINE好看*/move(LINES/2, COLS/2); /*move the cursor to the center,LINES 和 COLS是curses定义的宏, 代表当前屏幕的最大行数和列数*/ waddstr(stdscr, "Hello, world!");  /*waddstr()函数的作用是在stdscr上打印字符串"hello, world!"*/refresh();getch();endwin();  /*调用endwin()结束curses, 恢复原来的屏幕*/return 0;}

常用函数:
3. 重要的函数:
函数 功能
initscr()
初始化curses库和ttty
(在开始curses编程之前,必须使用initscr()这个函数来开启curses模式)
endwin()
关闭curses并重置tty
(结束curses编程时,最后调用的一个函数)
move(y,x) 将游标移动至 x,y 的位置
getyx(win,y,x) 得到目前游标的位置(请注意!是 y,x 而不是&y,&x)
clear() and erase() 将整个萤幕清除(请注意配合refresh() 使用)
echochar(ch) 显示某个字元
addch(ch) 在当前位置画字符ch
mvaddch(y,x,ch) 在(x,y) 上显示某个字元。相当於呼叫move(y,x);addch(ch);
addstr(str) 在当前位置画字符串str
mvaddstr(y,x,str) 在(x,y) 上显示一串字串。相当於呼叫move(y,x);addstr(str);
printw(format,str) 类似 printf() ,以一定的格式输出至萤幕
mvprintw(y,x,format,str) 在(x,y) 位置上做 printw 的工作。相当於呼叫move(y,x);printw(format,str);
getch() 从键盘读取一个字元。(注意!传回的是整数值)
getstr() 从键盘读取一串字元。
scanw(format,&arg1,&arg2…) 如同 scanf,从键盘读取一串字元。
beep() 发出一声哔声
box(win,ch1,ch2) 自动画方框
refresh() 使屏幕按照你的意图显示。比较工作屏幕和真实屏幕的差异,然后refresh通过终端驱动送出那些能使真实屏幕于工作屏幕一致的字符和控制码。(工作屏幕就像磁盘缓存,curses中的大部分的函数都只对它进行修改)
standout() 启动standout模式(一般使屏幕发色)
standend() 关闭standout模式

在Linux安装curses相关推荐

  1. Linux下curses的安装和使用

    Linux下curses的安装和使用 前言 光标库主要函数功能 安装光标库(Curses) BBS 贪吃蛇 总结 前言 本文讲解了curses的一些主要函数的功能及安装. 光标库主要函数功能 init ...

  2. Linux下curses函数库的详细介绍

    Linux下curses函数库的详细介绍 curses库介绍 安装 curses库函数介绍 初始化和重置函数 管理屏幕的函数 输出到屏幕 从屏幕读取 清除屏幕 移动光标 字符属性 管理键盘的函数 键盘 ...

  3. 实用的Linux 安装 zip unzip

    Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...

  4. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  5. Linux安装Nodejs

    Linux安装Nodejs 阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载. 我这边下载的是:https://npm.taobao.or ...

  6. linux命令安装组件,Linux安装各种组件

    [TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...

  7. arch linux安装_如何从头开始安装Arch Linux

    arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...

  8. linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  9. linux 查看es安装目录,Linux安装Elasticsearch

    本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...

最新文章

  1. Android application捕获崩溃异常
  2. njust 1927 谁才是最强战舰!(anti-nim博弈论)
  3. php获取函数里参数吗,php函数中获取参数信息方法(记录)
  4. C++ static的作用
  5. Error dialog box generic entry point
  6. python代码写好了怎么运行-python代码如何运行
  7. svn服务器新建项目,SVN 创建项目
  8. 登录注册HTML页面代码
  9. Java刷题面试系列习题(三)
  10. python实现 stft_Python中可转换的STFT和ISTFT
  11. 用scrapy爬虫无数据
  12. 什么是 promise?
  13. Ubuntu 20.04 离线安装podman
  14. 自学Java如何正确入门?
  15. office:word在编辑内容时反应迟钝的解决办法
  16. 如何避免高不成低不就? 疫情当下Java学习路线分享
  17. 前端开发:webstorm永久破解
  18. 【光流估计】无监督学习中的遮挡区域
  19. Elasticsearch7.x 基本查询
  20. InstallShield Limited Edtion for VS2015

热门文章

  1. 索引左前缀性的三层意思
  2. MT4 Manager java二次开发(二)
  3. Linux查看物理CPU个数、核数、逻辑CPU个数
  4. PHP代码审计系列(一) 基础:方法、思路、流程
  5. Oracle中导出TA组织架构
  6. 安居客二手房源信息查询
  7. 元宇宙Metaverse是什么?为什么这么火爆?
  8. envi如何打开Landsat5 TM数据
  9. Android 模拟器现已支持 AMD 处理器和 Hyper-V
  10. MATLAB图像处理入门