一 问题

  读取驱动设置并显示回显位的状态。

二 分析

  标准输入的文件描述符为0
  使用tcgetattr()函数和termios结构体可以读取到设备的属性
  回显位状态放置在termios.c_lflag中

三 实现

#include <stdio.h>
#include <termios.h>
#include <stdlib.h>
main()
{struct termios info;int rv;/*读取终端设置*/rv = tcgetattr(0,&info);if(rv == -1){perror("togetattr");exit(1);}/*判断回显位是否被设置*/if(info.c_lflag&ECHO)printf("echo is on, since its bit is 1\n");elseprintf("echo is OFF,since its bit is 0\n");
}

四 相关函数与结构体

1 tcgetattr() 函数
读取tty驱动程序的属性
头文件:#include <termios.h>  #include <unistd.h>
函数原型: int tcgetattr(int fd,struct termios *info)
参数:  fd    与终端相关联的文件描述符
       info   指向终端结构的指针
返回值: -1    遇到错误
     0     成功返回

2 termios结构体
struct termios
{
  tcflag_t c_iflag;  /*input mode flags*/
  tcflag_t c_oflag;  /*output mode flags*/
  tcflag_t c_cflag;  /*control mode flags*/
  tcflag_t c_lflag;  /*local mode flags*/
  cc_t c_c[NCCS];  /*control characters*/
  speed_t c_ispeed;  /*input speed*/
  speed_t c_ospeed;  /*output speed*/
}

转载于:https://www.cnblogs.com/cation/archive/2013/03/05/2944453.html

UNIX-LINUX编程实践教程-第五章-实例代码注解-echostate.c相关推荐

  1. stty详解-Unix/Linux编程实践教程第五章 学习stty

    读书笔记-第五章 连接控制 学习stty 先放上思维导图 为设备编程&设备就像文件 前面所学的知识都是基于文件的,而在unix/linux系统中,所有的设备(打印机,终端,话筒,摄像头等等)也 ...

  2. UNIX-LINUX编程实践教程-第三章-实例代码注解-ls2

    一 问题 对ls1的功能进行扩展,以达到类似ll命令的功能. 二 分析 在ls1中,我们利用readdir()函数和dirent结构体来获得目标文件夹内的文件名(dirent->d_name). ...

  3. linux编程课后作业,Unix/Linux 编程实践教程第三章习题

    tips: 答案仅供参考,不保证正确* 3.1 在我的 deepin 上,d_name 的长度是 256,有的系统定义成 1 是为了节省空间,使用时可以通过 malloc() 动态的分配空间,比如: ...

  4. 《Unix/linux编程实践教程》------重定向程序的I/O

    <Unix/linux编程实践教程>书中举例命令more的用法: $more filename $command | more $more < filename 用法1直接显示fil ...

  5. Unix/Linux编程实践教程–书评

    花了两个月的时间把这本书读完了,完成了一部分的课后习题. 总的来说,这是一本挺好的Unix\Linux编程的入门书(虽然书中的小错误一大堆),书的开始部分简要介绍了Unix系统编程,讲述了如何使用男人 ...

  6. linux pipe函数 重定向,I/O重定向和管道——《Unix/Linux编程实践教程》读书笔记(第10章)...

    1.I/O重定向的概念与原因 及 标准输入.输出的标准错误的定义 所以的Unix I/O重定向都基于标准数据流的原理.三个数据了分别如下: 1)标准输入--需要处理的数据流 2)标准输出--结果数据流 ...

  7. 进程和程序:编写shell——《Unix/Linux编程实践教程》读书笔记(第8章)

    2019独角兽企业重金招聘Python工程师标准>>> 1.Unix shell的功能 shell是一个管理进程和运行程序的程序.所有常用的shell都有3个主要功能: (1)运行程 ...

  8. unix/linux编程实践,Unix/Linux编程实践教程–cp在OS X的实现

    环境:OS X10.12.4 书中的代码对于OS X是适用的.值得提一嘴的是,其实OS X的open是可以在文件不存在的时候自动创建的,man 2 open时,就可以看到这个说明. The oflag ...

  9. 学习Unix/Linux编程要学些什么

    最近利用空余时间看了一下<Unix/Linux编程实践教程>,原书名为:Understanding Unix/Linux Programming: A Guide to Theory an ...

  10. AArch64教程第五章

    AArch64教程第五章 本章,我们将看看在aarch64中如何访问内存 内存 随机存储器,或者简单来说,内存是任一架构的必需部分.内存能够被看作由一系列连续的被称为地址的编号组成的数组,每一个元素都 ...

最新文章

  1. Supporting Python 3(支持python3)——常见的迁移问题
  2. boost::fibers模块实现适应非阻塞的测试程序
  3. 上海交通大学2006年各学院本科生平均薪酬统计
  4. python 空列表append_python空列表不能用append吗
  5. 【java】计算 list 中每一行的合计值
  6. php 字符串转驼峰,zhouqq - PHP 蛇形命名法(snake case)和驼峰命名法(camel case) 相互转换...
  7. spark多字段排序与取topN
  8. mysql unix_timestamp()获取日期的时间戳 from_unixtime时间戳转日期
  9. PHP 实现文件上传 php配置
  10. 分布式系统架构的本质
  11. Menhera酱全套表情包
  12. 计算机储位分配,仓库储位分配的基本思路与原则
  13. Java基础题26:(多选题)下列哪些选项属于Java技术体系()
  14. Numpy生成0矩阵、1矩阵、单位矩阵以及创建等差数组和等比数列
  15. 观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识
  16. 通过Cookie跳过登录验证码【限cookie不失效有用】
  17. 极客日报:阿里回应1000万成立“元境生生”;马斯克一年上了75次热搜;微软.NET中文官网正式上线
  18. 浅析网站 APP 登录界面设计
  19. DataFrame-索引与切片
  20. 在虚拟机里配置mysql环境

热门文章

  1. 模板题——堆排序 哈希表 字符串哈希
  2. list.files: List the Files in a Directory/Folder
  3. 摄影测量学——解析法相对定向
  4. 【空间分析-文章学习笔记】2 北京各行业的空间分布分析
  5. 设计自己的ImageLoader图片加载框架
  6. plsql去除字段中空格_Python3中strip()、lstrip()、rstrip()用法详解
  7. tomcat8+linux+IDEA配置远程代码调试
  8. Android AsyncTask源代码浅析
  9. c语言switch语句可以用在数组上吗,Microchip工程师社区 - C语言switch语句不能给数组吗? - Microchip C语言编译器论坛 - 麦田论坛...
  10. FFmpeg总结(四)AV系列结构体之AVBuffer、AVBufferRef、AVBufferPool