linux 下 curses库 安装 和使用

来源:互联网 发布:c语言和汇编语言的优点 编辑:程序博客网 时间:2024/05/17 21:51

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库的一些简单的应用。现在学习要本着学以致用的目的。用多少就学多少,学过了就一定要学好!

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四年级上册数学应用题100道 五年级上册数学应用题 小学二年级数学应用题 二年级数学下册应用题大全 三年级下册数学应用题 小学六年级数学应用题 六年级下册数学应用题 七年级上册数学应用题 四年级鸡兔同笼应用题 五年级小数除法应用题 五年级下册数学应用题 三年级上期数学应用题 小学三年级时间应用题 小学二年级数学应用题大全 小学三年级数学应用题上册 六年级工程问题应用题 六年级数学比例应用题 六年级数学工程应用题 五年级鸡兔同笼应用题 10以内的加减法应用题 五年级上册小数除法应用题 小学二年级数学应用题上册 小学三年级上册数学应用题 二年级数学除法应用题 小学二年级除法应用题 二年级下册奥数应用题 七年级数学方程应用题 五年级数学方程应用题 小学数学四年级应用题 小学四年级上册数学应用题 六年级数学方程应用题 二年级上学期数学应用题 小学五年级上册应用题 五年级列方程解应用题 六年级数学分数乘法应用题 三年级上学期数学应用题 小学五年级奥数应用题 小学三年级上册应用题 小学生六年级数学应用题 小学六年级分数乘法应用题 小学六年级上册数学应用题