linux_c之ioctl的FIONREAD参数

linux_c之ioctl的FIONREAD参数ioctl是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的。而read,write是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。FIONREAD就是返回缓冲区中有多少字节;ioctl(keyFd,FIONREAD,&b)得到缓冲区里有多少字节要被读取,然后将字节数放入b里面。接下来就可以用read了,read(keyFd,

大家好,又见面了,我是你们的朋友全栈君。

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);

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163637.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常量表达式(const expression)

    常量表达式(const expression)常量表达式是指值不会改变并且在编译过程中就能得到计算结果的表达式问:intstaff_size=27; constintsz=get_size();是不是常量表达式?答:intstaff_size=27; //staff_size不是常量表达式constintsz=get_size(); //sz不是常量表达式staff_size的数据类型是int而不是constint,是可以改变的,而且get_size()的值直到运行时才能获取到

    2022年9月1日
    3
  • snmp trap报文格式_linux接收snmptrap

    snmp trap报文格式_linux接收snmptrap转载地址:https://blog.csdn.net/eric_sunah/article/details/19557683SNMP的报文格式SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。在实际网络传输环境下,S…

    2022年8月21日
    6
  • IPerf简单使用

    IPerf简单使用一点睛 1IPerf 是一个服务器 客户端运行的程序 2 在服务器端运行 iPerf 也需要在客户端运行 IPerf 3 服务器端 在命令行下使用 iperf 加参数 s 4 客户端 在命令行下使用 iperf 加参数 c 5 经过一段时间测试 默认 10 秒 在 Server 端和 Client 端就会打印出网络连接的各种性能参数 二实战 1 准备服务器和客户端服务器 192 168 0

    2025年8月30日
    12
  • 如何在MAC机器中实现移动设备WiFI上网(没有专门的无线路由器的情况)

    如何在MAC机器中实现移动设备WiFI上网(没有专门的无线路由器的情况)

    2021年8月22日
    52
  • M1卡/CUID卡格式化清卡操作方法

    M1卡/CUID卡格式化清卡操作方法CUID 卡是一种可以更改 0 扇区 0 块的特殊卡 很多朋友发现 CUID 卡写入一次之后再写就不让写了 认为卡已经废了 其实可以格式化清卡以后变空白卡 再次使用 普通 M1 卡也可以用该方法清卡 把卡片恢复成空白卡 一 把 CUID 卡放读写器上 打开 IC 卡操作软件 如下图二 把该卡的 dump 文件 拖进软件 或者用 读取 dump 文件 按钮打开卡文件 然后用默认的 keyA 密码清除卡片 点 清卡 按钮 如下图三 我们看到有部分扇区提示密码错误 这是控制位改变了 keyA 密码的操作权限 也就是说 keyA 没有清除卡片的

    2025年11月25日
    3
  • 常用黑盒测试方法_黑盒测试各种方法

    常用黑盒测试方法_黑盒测试各种方法定义:黑盒测试又称功能测试。黑盒测试就是把测试对象看成一个不能打开的黑盒子,在完全不考虑程序的内部结构和处理过程的情况下,只依据程序的需求规格说明书,检查程序的功能是否符合他的功能说明。黑盒测试主要发现的缺陷类型:1、功能错误或遗漏;2、界面错误;3、数据库错误;4、性能错误;5、初始化和终止错误。黑盒测试的基本思路:黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的,又称为数据驱动测试。黑盒测试是在程序外部接口进行的测试。黑盒测试选择…

    2022年10月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号