Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120833
  • 博文数量: 19
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-08 23:04
文章分类

全部博文(19)

文章存档

2016年(1)

2015年(1)

2014年(4)

2013年(10)

2012年(3)

我的朋友

分类: C/C++

2014-02-15 22:44:00

curses库是用来开发简单图形界面程序一个库。

Ubuntu下安装方法:

sudo apt-get install libncurses5-dev

curses的基本用法如下:

1. 包含头文件:curses.h

2. 编译时应加上链接语句-lcurses,如:gcc temp.c -o temp -l curses

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();                              //将做清除萤幕的工作
}

阅读(2000) | 评论(0) | 转发(0) |
0

上一篇:cgic移植

下一篇:移植dhcp到arm

给主人留下些什么吧!~~