Linux ncurses怎么用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇"Linux ncurses怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"
千家信息网最后更新 2025年02月01日Linux ncurses怎么用
这篇"Linux ncurses怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Linux ncurses怎么用"文章吧。
ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。 ncurses名字中的n意味着"new",因为它是curses的自由软件版本。由于AT&T"臭名昭著"的版权政策,人们不得不在后来用ncurses去代替它。
需要在ubuntu系统上安装库文件,支持ncurses:
apt-get install libncurses5-dev
initscr()函数:
initscr()用于初始化ncurses数据结构并读取正确的terminfo文件。内存将被分配。如果发生错误,initscr将返回ERR,否则将返回指针。此外,屏幕将被删除并初始化。
getyx() 函数:
getyx() 函数可以用来取得当前光标的位置。并把它存储在传递给它的两个变量中。
mvprintw()函数:
在指定的坐标输出
refresh()函数:
更新终端屏幕
endwin()函数:
endwin()将清除ncurses中所有已分配的资源,并将tty模式恢复为调用initscr()之前的状态 。必须在ncurses库中的任何其他函数之前调用它,并且必须在程序退出之前调用endwin()。当您想要输出到多个终端时,可以使用 newterm(...)而不是initscr()。
下面的代码可以实现一个模拟的"球"在屏幕上来回反弹。 代码参考: [https://www.viget.com/articles/game-programming-in-c-with-the-ncurses-library/]
源程序:
#include #include #define DELAY 30000int main(int argc, char *argv[]){int x = 0;int y = 0;int max_x = 0,max_y = 0;int next_x = 0;int direction = 1;initscr(); /* 初始化屏幕 */noecho(); /* 屏幕上不返回任何按键 */curs_set(FALSE); /* 不显示光标 */ /* getmaxyx(stdscr, max_y, max_x);/* 获取屏幕尺寸 */mvprintw(5, 5, "Hello, world!");refresh(); /* 更新显示器 */sleep(1);while(1) { getmaxyx(stdscr, max_y, max_x);/* 获取屏幕尺寸 */ clear(); /* 清屏 */ mvprintw(y, x, "O"); refresh(); usleep(DELAY); next_x = x + direction; if(next_x >= max_x || next_x else { x = x + direction; } }endwin(); /* 恢复终端 */}
Makefile:
# Makefilecc=gccLDFLAGS=-lncursesSRCS := $(wildcard *.c)TARGET := $(SRCS:%.c=%)$(TARGET):$(SRCS)$(cc) $(LDFLAGS) $(SRCS) -o $(TARGET)clean:rm $(TARGET)
以上就是关于"Linux ncurses怎么用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
函数
屏幕
内容
终端
代码
光标
尺寸
文章
知识
篇文章
分配
更新
输出
臭名昭著
两个
人们
位置
使用者
内存
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发的成功取决于
专科安卓软件开发
时序数据库大数据
校园网络安全教育平台登录
贵州网络安全工程哪个好
网络安全最好的二本大学
嘉祥软件开发招商
如何下载粘土服务器
瑞庭网络技术加班
数据库mysql查询索引优化
软件开发设计需求书
北京艾利艾互联网科技怎么样
安全服务器报告
农村电影网络安全宣传
合肥数据库在建设吗
虚拟服务器租约释放ip命令
外呼呼叫中心数据库
学网络安全去哪里学
API服务器 验证token
网络安全研究生开设课程
保护网络安全培训课
服务器在核心层还是汇聚层
阿里云计算服务器可以跑程序吗
邮件服务器如何防护
山东联速网络技术有限公司
杭州科讯网络技术有限公司
网络安全各大学排名
广州张无忌网络技术有限公司
超级呼服务器
大学手机软件开发课程