Ncurses介绍 (转载)

众所周知,linux下有大部分程序是基于字符终端的。字符终端是很高校很强大的工具,尽管linux在桌面环境方面不断发展,但是字符终端的功能从来都没有被减弱,而且不断有新的特性出现。

尽管字符界面可以让使用者显得很专业,不过它的“丑陋”是路人皆知的,很多新手因此望而却步。如果在保持字符界面节省系统资源的情况下,具有良好的视觉特性,那么某些人对它的看法或许会有改变。

当然,linux早就提供了一系列终端I/O的接口供用户使用,不过这些函数数量不少,更有相当数量的标志设置符,涉及到终端的很多细节。“波特率”这个东西有多少人听过?在终端和主机还在用串口线连接的时代,“波特率”指的是每秒中传输的二进制数位数。

ncurse是终端下实现简单图形界面的不二选择。ncurse的前身是curses,著名的vi就是基于curses的。ncurse提供了大量方便的接口供用户使用,简单举例一下。

initscr():必须的,写在最开始,ncurses帮你完成初始化。
endwin():必须的,写在最后。
noecho():关闭回显。
move(int x,int y):移动光标到x,y。
printw(“format string”,….):从光标处开始输出,跟printf差不多。
refresh():输出完毕要刷新才能显示。
clear():清屏。
getch():从光标处读入一个字符。

这些都是很简单的了,我就用这些写了个扫雷。当然还有很多关于“窗口”的函数,对,在终端显示窗口,有兴趣的可以看看手册。

怎么编译呢?直接 gcc -o是不行的…你先要看看系统里头有没有ncurse库,没有得自己编译一个,这里有详细说明:http://lamp.linux.gov.cn/Linux/LFS-6.2/chapter06/ncurses.html

Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库

什么是Ncurses?

您希望您的程序有一个彩色的界面吗?Ncurses是一个能提供基于文本终端窗口功能的动态库. Ncurses可以:

  • 只要您喜欢,您可以使用整个屏幕
  • 创建和管理一个窗口
  • 使用8种不同的彩色
  • 为您的程序提供鼠标支持
  • 使用键盘上的功能键



Ncurses可以在任何遵循ANSI/POSIX标准的UNIX系统上运行,除此之外,它还可以从系统数据库中检测终端的属性, 并且自动进行调整,提供一个不受终端约束的接口.因此,Ncurses可以在不同的系统平台和不同的终端上工作的非常好.

mc工具集就是一个用ncurses写的很好的例子,而且在终端上系统核心配置的界面同样是用ncurses编写的. 下面就是它们的截图:





哪里可以下载?

Ncurses是基于GNU/Linux发展的,请访问 http://www.gnu.org/software/ncurses/以获得最新的更新版本或者其他详细信息以及相关链接 .

。。。。。。。。。。。。。。。。。。。


更详细的介绍见http://www.360doc.com/content/10/0802/19/979491_43214658.shtml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值