chap7Linux终端..ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chap7Linux终端.

* 完整的终端控制程序 termoos函数库及使用 * 完整的终端控制程序 termoos函数库及使用 * 完整的终端控制程序 termoos函数库及使用 * 完整的终端控制程序 main()函数 改进形式 termoos函数库及使用 * 检测击键操作 kbhit()函数 在没有实际进行读写操作之前检测是否按过某个键 等待某个击键操作 Linux中没有类似函数 代码实现 定义结构 termoos函数库及使用 * 检测击键操作 代码实现 主函数 termoos函数库及使用 * 检测击键操作 代码实现 初始化和关闭终端配置 Read调用直到有字符可以读取时才返回 termoos函数库及使用 * 检测击键操作 代码实现 检测是否有击键动作 read调用检查输入并立即返回 termoos函数库及使用 * 检测击键操作 代码实现 将按键字符传递给下一个函数readch() termoos函数库及使用 * 检测击键操作 输出结果 termoos函数库及使用 * 虚拟控制台 功能 一组终端设备共享PC电脑的屏幕、键盘和鼠标 Linux典型安装中将配置12个虚拟控制台 表示方法:/dev/ttyN 查看方法 who:显示目前登录到系统的用户的信息 pe –e:显示当前使用的虚拟终端控制台及其运行的程序 termoos函数库及使用 * * * 输出模式 功能 控制输出字符(程序发出的字符)在传递到串行口或者屏幕之前的处理方式 大多处理方式与输入模式相反,但有几个用于慢速终端的额外标志 通过设置c_oflag来控制 OPOST: 打开输出处理 ONLCR: 将任何输出换行符转换成回车符/行输入对 OCRNL:将任何输出回车符转换成换行符 ONOCR: 在输出的0列不包含回车符 ONLRET: 换行也执行回车符 OFILL: 发送结束符来提供延迟 OFDEL: 使用DEL作为结束符,而不使用 NULL NLDLY: 换行延迟选择 CRDLY: 回车延迟选择 TABDLY: Tab键延迟选择 BSDLY: Backspace延迟选择 VTDLY: 垂直tab延迟选择 FFDLY: 表单(Form feed)延迟选择 若未设置OPOST,则所有其他标志都被忽略 termoos函数库及使用 * 控制模式 功能 控制终端的硬件特性 设置结构中的c_cflag CLOCAL:忽略调制状态行 CREAD: 允许接收字符 CS5: 在发送/接收字符中使用5位 CS6:在发送/接收字符中使用6位 CS7:在发送/接收字符中使用7位 CS8:在发送/接收字符中使用8位 CSTOPB: 在每个字符中使用两个停止位,而不是1位 HUPCL: 关闭时挂断调制解调器 PARENB: 允许奇偶位生成与检测 PARODD:使用奇校验而不是偶校验 若启动HUPCL标志,当终端驱动程序检测到与终端对应的最后一个文件描述符被关闭时,它将通过设置调制解调器的控制线来挂断电话线路 termoos函数库及使用 * 本地模式 功能 控制终端的各种特性 设置c_lflag标志 ECHO: 允许本地回显输入字符 ECHOE: 接收到ERASE 执行Backspace, Space, Backspace组合 ECHOK: 接收到KILL字符时执行删除行 ECHONL: 回显换行字符 ICANON: 启用规范输入处理 IEXTEN: 允许实现特定功能 ISIG: 支持信号 NOFLSH: 使队列上的flush失效 TOSTOP: 尝试通过写方法向后台进程发送信号 termoos函数库及使用 * 特殊控制字符 termios结构的c_cc数组成员将各种特殊字符映射到对应的支持函数 根据终端是否设置成标准模式(即c_lflag是否设置了ICANON标志),该数组有两种差别很大的用法 标准模式下的数组下标 VEOF: EOF字符 VEOL: EOL字符 VERASE: ERASE字符 VINTR: INTR字符 VKILL: KILL字符 VQUIT: QUIT字符 VSUSP: SUSP字符 VSTART: START字符 VSTOP: STOP字符 termoos函数库及使用 * 特殊控制字符(续) 非标准模式下的数组下标 VINTR: INTR字符 VMIN: MIN值 VQUIT: QUIT字符 VSUSP: SUSP字符 VTIME: TIME值 VSTART: START字符 VSTOP: STOP字符 termoos函数库及使用 * 特殊字符处理说明 termoos函数库及使用 * TIME与MIN值说明 功能 只能用于非标准模式 控制对输入的读取 控制程序试图读取与某终端关联的文件描述符时将发生的情况 参数设置说明 MIN=0,TIME=0 read调用立即返回 有等待字符

文档评论(0)

叮当文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档