Frm: http://blog.csdn.net/Mary_Jane/article/details/50769631

介绍

ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。
ncurses名字中的n意味着“new”,因为它是curses的自由软件版本。由于AT&T“臭名昭著”的版权政策,人们不得不在后来用ncurses去代替它。
ncurses是GNU计划的一部分,但它却是少数几个不使用GNU GPL或LGPL授权的GNU软件之一。

其实我们对ncurses本身并不陌生,以下几款大名鼎鼎的软件都用到过ncurses:

  • vim
  • emacs
  • lynx
  • screen

为了制作自己构想了一段时间的Roguelike的游戏,同时作为对《The C Programming Language》的实践,我开始接触ncurses并在此作笔记。


安装

Linux

以Debian为例(人生中第一个发行版)

$ sudo apt-get install libncurses5-dev

安装完毕后,我们写下如下代码:

安装完毕后,我们写下如下代码:

//test.c

#include <string.h>
#include <ncurses.h> int main(int argc,char* argv[]){
initscr();
raw();
noecho();
curs_set(); char* c = "Hello, World!"; mvprintw(LINES/,(COLS-strlen(c))/,c);
refresh(); getch();
endwin(); return ;
}

然后使用gcc编译后执行看看效果,不要忘了加-lncurses哦。

$ gcc test.c -o test -lncurses
$ ./test

不出意外的话结果如下:

ncurses库的介绍与安装的更多相关文章

  1. 【Linux】 Ncures库的介绍与安装

    Ncures库的介绍 ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面. ncurses名字中的n意味着“new”,因为它是curse ...

  2. Google Supersonic列存储查询库的介绍、安装、测试

    查询引擎库介绍: http://www.infoq.com/cn/news/2012/10/Google-Supersonic/ Supersonic是一个面向列存储数据库的查询引擎库,它提供了一组数 ...

  3. Linux系统下安装ncurses库

    ncurses库是一个Linux系统下的图形支持的函数库,字符终端处理库,包括面板和菜单. 今天在安装ncurses库的时候遇到了一些问题,现将遇到的问题所叙如下: 首先说明:本次安装采用的是源码包的 ...

  4. requests库的使用、安装及方法的简单介绍

    requests库的使用.安装及方法的简单介绍 1.requests库的概述 requests库是一个简洁且简单的处理HTTP请求的第三方库,是公认的最好获得第三方信息的库. requests库更多信 ...

  5. C语言图书管理借阅系统——ncurses库的使用

    一.前言 作为一只大四狗,最近还跟着大二同学修了一门课(当然不是之前没通过啦),课程是高级语言课程设计,高级语言指的是C语言 :),内容是做一个XX管理系统,我选择了图书管理系统,先介绍下我做的系统: ...

  6. Python介绍、安装、使用

    Python介绍.安装.使用 搬运工:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python语言介绍 说到Python语言,就不得不说一下它的创始人Guido van Rossu ...

  7. 本地yum库制作及本地安装Docker

    生产环境中,我们总是会遇到服务器无法连接外网的情况,这样,如果想安装某个应用,而这个应用依赖的其他类库又特别多,就很痛苦了.这个时候,就需要自己制作个本地的yum库,进行本地安装.本文将以Docker ...

  8. Oracle asm介绍和安装linux+oracle10g+asm过程

    Oracle asm介绍和安装linux5.2+oracle10g+asm过程   1)ASM(自动存储管理)的来由:   ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来 ...

  9. LAMP介绍及安装

    LAMP介绍及安装 1. LAMP是什么? LAMP,包含Linux + Apache + PHP + Mysql. LAMP适用环境 适用于追求极致稳定的WEB环境,缺点是需要消耗更多资源. 除了L ...

随机推荐

  1. CSS适配,方案

    1.尺寸常用单位:   https://www.cnblogs.com/whitewolf/p/css-em-px-percentage.html px.em.rem.% 2.CSS的长度单位适配方案 ...

  2. CSS:目录

    ylbtech-CSS:目录 1.返回顶部 1. http://www.runoob.com/css/css-tutorial.html 2. https://www.w3school.com.cn/ ...

  3. 【Javescript】DOM(文档对象模型)

    1.定义: DOM是Document Object Model文档对象模型的缩写.是针对HTML和XML文档的一个API,通过DOM可以去改变文档. 例如:我们有一段HTML,那么如何访问第二层第一个 ...

  4. linux 创建多级目录 mkdir -p

    原文地址:http://www.dutor.net/index.php/2010/06/cmd-mkdir-p/ mkdir的-p选项允许你一次性创建多层次的目录,而不是一次只创建单独的目录.例如,我 ...

  5. 利用OpenFileDialog 获取图片存储到数据库中

    private void button1_Click(object sender, EventArgs e)        {            string fName;            ...

  6. python数据结构之快速排序

    def quick_sort(nums): if not nums: return [] else: # 这里取第0个数为基点 flag = nums[0] # 小于flag 的放到左边 left = ...

  7. html5本地存储(三)--- 本地数据库 indexedDB

    html5内置了2种本地数据库,一是被称为“SQLLite”,可以通过SQL语言来访问文件型SQL数据库.二是被称为“indexedDB” 的NoSQL类型的数据库,本篇主要讲indexedDB数据库 ...

  8. vue 过滤器filter的详解

    1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...

  9. element ui 弹出组件的遮罩层在弹出层的上面的解决方法

    <el-dialog title="收货地址" :visible.sync="dialogFormVisible" :modal-append-to-bo ...

  10. JS中的垃圾回收(GC)

    垃圾回收(GC): 1. 就像人生活的时间长了会产生垃圾一样,程序运行过程中也会产生垃圾,这些垃圾积攒过多以后,会导致程序运行的速度过慢, 所以我们需要一个垃圾回收的机制,来处理程序运行中产生的垃圾. ...