ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的。

而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。

FIONREAD就是返回缓冲区中有多少字节;

ioctl(keyFd, FIONREAD, &b)得到缓冲区里有多少字节要被读取,然后将字节数放入b里面。

接下来就可以用read了,read(keyFd, &b, sizeof(b))

例:读取标准输入缓冲区中的字节数

#include<sys/ioctl.h>

int num=0;

ioctl(0,FIONREAD,&num);

linux_c之ioctl的FIONREAD参数相关推荐

  1. 关于 ioctl 的 FIONREAD 参数

    ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的.而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区. ioctl(ke ...

  2. ioctl之FIONREAD

    在学习ioctl 时常常跟 read, write 混淆.其实 ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的. 而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲 ...

  3. ioctl与FIONREAD

    在学习ioctl 时常常跟 read, write 混淆.其实 ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的. 而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲 ...

  4. 关于 ioctl 的 FIONREAD 參数

     ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的.而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区. ioctl(k ...

  5. ioctl 函数 参数 详解

    2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...

  6. ioctl() FIONREAD

    函数名: ioctl 头文件:#include 功能: 控制I/O设备 ,提供了一种获得设备信息和向设备发送控制参数的手段.用于向设备发控制和配置命令,有些命令需要控制参数,这些数据是不能用read ...

  7. 【原创】通过 ioctl + FIONREAD 判定数据可读

    [原创]通过 ioctl + FIONREAD 判定数据可读 摩云飞 2016-05-12 09:57:51 浏览470 评论0 libevent ioctl FIONREAD 摘要: 在排查业务 b ...

  8. spi ioctl无效参数解决

    方法一: struct spi_ioc_transfer tr;  /* 这种写法一定要赋初值 */     memset(&tr,0,sizeof(struct spi_ioc_transf ...

  9. Linux ioctl FIONREAD 和select 使用

    Linux ioctl FIONREAD 和select 使用 使用select 与ioctl判断socket client是否断开的方式 (1)ioctl + FIONREAD int nsel = ...

最新文章

  1. 搜索引擎, 请手下留情
  2. c语言中,关于指针变量前的*有两种表现形式:
  3. Linux 动态库的显示调用
  4. OpenCV iOS Hello World应用程序
  5. 中石油训练赛 - Swapity Swap(矩阵快速幂)
  6. Java学习之约瑟夫环的两中处理方法
  7. IOS 企业版发布后,用户通过sarafi浏览器安装无效的解决方案
  8. 工作内外网同时连接方案
  9. shell-awk详细笔记
  10. cocos2d-x的未来之旅
  11. Linux系统Bash的常用功能(9)
  12. MFC添加View的方法
  13. 3.CND技术详解---内容缓存工作原理及实现
  14. 20.HTTP-NG
  15. Atitit.java图片图像处理attilax总结
  16. 【物流选址】基于matlab佛洛依德算法求解物流选址问题【含Matlab源码 892期】
  17. 设置java环境变量path_配置java环境变量path怎么设置
  18. 量子计算基础——量子测量
  19. mysql preparedstatement_关于PreparedStatement你知道多少
  20. 【转载】第三方支付业务如何测试

热门文章

  1. 学校的一个项目(教务管理系统)
  2. 【每日英文】2021.9.17
  3. 隐马尔科夫模型HMM详解(1)
  4. java自动雨刷系统_自动大灯和自动雨刷你真的会用吗?老司机:新手要学会,很实用!...
  5. 【移动端】如何在移动端调出纯数字键盘
  6. Oracle设计规范!
  7. ElementUI+Vue实现tab页面
  8. python老鼠打洞问题_内网渗透-老鼠打洞之SSH隧道
  9. [android]不解锁刷机
  10. 智能家居(七) —— 人脸识别 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)