curses库函数.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多
curses 库的函数的含义: cbreak():调用cbreak 函数后,除了Del和Ctrl键外,接受其他所有字符输入。 raw()和cbreak()两个函 数都可以禁止行缓冲(line buffering)。区别是:在raw()函数模式下,处理挂起(CTRLZ)、 中断或退出(CTRLC) 等控制字符时,将直接传送给程序去处理而不产生终端信号;而在 cbreak()模式下,控制字符将被终端驱动程序解释成其它字符。 nl()/nonl():输出时,换行是否作为回车字符。nl 函数将换行作为回车符,而nonl 函数相反。 noecho()/echo():关闭/打开输入回显功能。 intrflush(WINDOW *win, bool bf):win 为标准输出。当bf 为true 时输入Break,可以加快中 断的响应。但是,有可能会造成屏幕输出信息的混乱。 keypad (WINDOW *win, bool bf):win 为标准输出。调用keypad 函数后,将可以使用键盘上 的一些特殊字符,如方向键,转化成curses.h 中的特殊键。 refresh():重绘屏幕显示内容。在调用initscr函数后,第一次调用refresh 函数会清除屏幕 显示。 希望能帮到你 Curses 标准作为过渡,位于简单的文本行程序和完全图形化界面(一般也更难于编程)的 X 视窗系统程序(如 GTK/GNOME 和 Qt/KDE )之间。 Curses 函数库的名称来自它所提供的功能,它能够优化光标的移动并减少需要对屏幕进行 的刷新,因此它也减少了必须向字符终端发送的字符数目。 基本使用方法 Curses 例程工作在屏幕、窗口和子窗口上。所谓“屏幕”就是正在写的设备(通常是终端 屏幕,也有可能是 xterm 屏幕)。 Curses 函数库使用两个数据结构来映射终端屏幕,它们 是 stdscr 和 curscr 。其中 stdscr 数据结构对应的是“标准屏幕”,它的工作原理和 stdio 函 数库中的标准输出 stdout 非常相似,它是 curses 程序中的默认输出插口;而 curscr 数 据结构和 stdscr 相似,但它对应的是当前屏幕的样子。 一个使用 curses 函数库的典型例程如下: #include unistd.h #include stdlib.h #include curses.h int main() { initscr(); move(5,15); printw(%s, Hello World!); refresh(); endwin(); exit(0); } 当对使用 curses 函数库的程序进行编译时,必须在程序中包含头文件 curses.h ,它是需要 在编译命令行中用 -lcurses 选项对 curses 函数库进行链接。 从上面的程序可以看到,所有 curses 程序必须以初始化函数 initscr 开始,以函数 endwin 结束。函数 initscr 在一个程序中只能调用一次。 提示 :我们可以先调用 endwin 函数退出 curses ,然后通过调研 clrearok(strscr,1) 和 refresh 函数继续 curses 操作。这样,实际上是首先让 curses 忘记物理屏幕的样子,然后 强迫它执行一次完整的屏幕原文重现。 函数 move 和 printw 的功能是移动光标和在当前位置上输出文本。在调用 refresh 函数之 前,输出到 stdscr 上的内容是不会显示在屏幕上的。 refresh 函数的作用就是刷新物理屏 幕。 当需要在屏幕上显示比较松散的多行文本时,典型方式就是通过 move 函数与 printw 函数 的配合来完成。 简单来说, Curses 函数库有几种函数:屏幕输出函数、输入函数、清除函

文档评论(0)

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

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

1亿VIP精品文档

相关文档