ncurses简单介绍

本文深入探讨了Linux字符终端界面的现状及其对新手的挑战。通过介绍ncurses库和其提供的简单图形界面实现方式,如initscr、printw等函数,展示了如何在保持系统资源高效利用的同时,提升字符终端的视觉体验。文章还提供了编译ncurses库的详细指导,鼓励开发者和用户探索更多可能,改善Linux字符终端的交互性和吸引力。

众所周知,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

转载于:https://my.oschina.net/acmfly/blog/88378

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值