每天学点Linux--(curses.h的安装和基本使用)
来源:互联网 发布:java if else switch 编辑:程序博客网 时间:2024/05/16 16:06
curses库是用来开发简单图形界面程序一个库(也许它的功能不止这些,但是目前我只知道这一个!:)。
Ubuntu下安装方法:
sudo apt-get install libncurses5-dev
curses的基本用法如下:
1. 包含头文件:curses.h
2. 编译时应加上链接语句-lcurses,如:gcc temp.c -o temp -lcurses
3. 重要的函数:
initscr():在开始curses编程之前,必须使用initscr()这个函数来开启curses模式
endwin():结束curses编程时,最后调用的一个函数
move(y,x): 将游标移动至 x,y 的位置.
getyx(win,y,x): 得到目前游标的位置. (请注意! 是 y,x 而不是&y,&x )
clear() and erase(): 将整个萤幕清除. (请注意配合refresh() 使用)
echochar(ch): 显示某个字元.
addch(ch): 显示某个字元.
mvaddch(y,x,ch): 在(x,y) 上显示某个字元. 相当於呼叫move(y,x);addch(ch);
addstr(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): 自动画方框
常用的初始化函数集合:
void initial()
{
initscr(); //开启curses模式
cbreak(); //开启cbreak模式,除了 DELETE 或 CTRL 等仍被视为特殊控制字元外一切输入的字元将立刻被一一读取
nonl(); //用来决定当输入资料时, 按下 RETURN 键是否被对应为 NEWLINE 字元
noecho(); //echo() and noecho(): 此函式用来控制从键盘输入字元时是否将字元显示在终端机上
intrflush(stdscr,false);
keypad(stdscr,true); //当开启 keypad 後, 可以使用键盘上的一些特殊字元, 如上下左右>等方向键
refresh(); //将做清除萤幕的工作
}
以上是curses库的一些简单的应用。现在学习要本着学以致用的目的。用多少就学多少,学过了就一定要学好!
- 每天学点Linux--(curses.h的安装和基本使用)
- 每天学点Linux--(rpm文件的安装)
- Linux下curses库的安装和函数的使用
- Linux下curses库的安装和函数的使用
- 每天学点Linux--(File_status_flag和File_description_flag的区别/atoi函数的使用
- linux 下curses库的安装和使用
- 每天学点linux--(如何安装与卸载软件)
- 每天学点Linux之grep命令的使用
- 每天学点Linux之sed命令的使用
- 每天学点Linux--(《UNIX环境高级编程》ourhdr.h包的导入/游离的302错误处理)
- linux 下 curses库 安装 和使用
- linux 下 curses库 安装 和使用
- linux 下 curses库 安装 和使用
- linux 下 curses库 安装 和使用
- linux 下 curses库 安装 和使用
- linux 下 curses库 安装 和使用
- 每天学点Linux--(Linux下execl函数的使用)
- 每天学点Linux--(Lunix下sat求解器zchaff的安装)
- mini2440:最简单的嵌入式Linux驱动程序模块
- IOS基于APNS消息推送原理与实现(JAVA后台)
- __FUNCTION__
- Java中获得一个Class对象的方法
- 旅行商问题、斯坦纳树问题小结
- 每天学点Linux--(curses.h的安装和基本使用)
- (串的存储结构4.5.1)POJ 1488 TEX Quotes(同一字符被交替替换+读取所有字符并对特定字符进行处理)
- 编写asp.net接口小结(痛苦的回忆)
- linux下MySQL基础
- C++库研究笔记——程序的本地化
- 半数集问题
- HDU 1527 取石子游戏 威佐夫博奕
- java提高篇(七)-----详解内部类
- 【leetcode】Candy