ncurse库常用函数使用.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ncurse库常用函数使用

□ initscr() initscr()是一般 curses 程式必须先呼叫的函数, 一但这个函数 被呼叫之後, 系统将根据终端机的形态并启动 curses 模式. □ endwin() curses 通常以呼叫 endwin() 来结束程式. endwin() 可用来关闭 curses 模式, 或是暂时的跳离curses 模式.如果您在程式中须要 call shell ( 如呼叫 system() 函式 ) 或是需要做 system call, 就必须先以endwin()暂时跳离curses模式. 最後再以 wrefresh() doupdate() 来重返 curses 模式. □ cbreak() nocbreak() 当 cbreak模式被开启後, 除了 DELETE 或 CTRL 等仍被视为特殊 控制字元外一切输入的字元将立刻被一一读取.当处於 nocbreak 模式时, 从键盘输入的字元将被储存在buffer 里直到输入RETURN 或 NEWLINE. 在较旧版的 curses 须呼叫 crmode()nocrmode() 来 取代 cbreak(),nocbreak() □ nl() nonl() 用来决定当输入资料时, 按下 RETURN 键是否被对应为 NEWLINE 字元 ( 如 \n ). 而输出资料时, NEWLINE字元是否被对应为RETURN 和 LINDFEED 系统预设是开启的. □ echo() noecho() 此函式用来控制从键盘输入字元时是否将字元显示在终端机上. 系统 预设是开启的. □ intrflush(win,bf) 呼叫 intrflush 时须传入两个值: win 为一 WINDOW 型态指标, 通常传入标准输出入萤幕 stdscr bf 为 TRUE 或 FALSE 当 bf 为 true 时, 当输入中断字元 ( 如 break) 时, 中断的反应 将较为快速. 但可能会造成萤幕的错乱. □ keypad(win,bf) 呼叫 keypad 时须传入两个值: win 为一 WINDOW 型态指标, 通常传入标准输出入萤幕 stdscr bf 为 TRUE 或 FALSE 当开启keypad 後, 可以使用键盘上的一些特殊字元, 如上下左右等方向键, curses 会将这些特殊字元转换成 curses.h 内定义的一 些特殊键. 这些定义的特殊键通常以 KEY_ 开头. □ refresh() refresh() 为 curses 最常呼叫的一个函式. curses 为了使萤幕输出入达最佳化, 当您呼叫萤幕输出函式企图改变萤幕上的画面时, curses并不会立刻对萤幕做改变,而是等到变萤幕上的画面时, curses并不会立刻对萤幕做改变,而是等到refresh() 呼叫後, 才将刚才所做的变动一次完成.其余的资料将维持不变. 以尽可能送最少的字元至萤幕上. 减少萤幕重绘的时间.如果是 initscr() 後第一次呼叫refresh(), curses 将做清除萤幕的工作. ■ 游标的控制 move(y,x) 将游标移动至 x,y 的位置 getyx(win,y,x)得到目前游标的位置 (请注意! 是 y,x 而不是 y,x ) ■ 有关清除萤幕的函式 clear() 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...) 如同 sc

文档评论(0)

yd327298 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档