关于 ioctl 的 FIONREAD 參数

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

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

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

 ioctl(keyFd, FIONREAD, &b)

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

接下来就能够用read了。

read(keyFd, &b, sizeof(b))

清单 – 读取串行port输入缓冲区中的字节数 
#include <unistd.h> 
#include <termios.h> 
int fd; 
int bytes; 
ioctl(fd, FIONREAD, &bytes);  


=================================


FIONREAD,就是返回緩衝區有多少字節。
輸入有個輸入緩衝區,用
ioctl(0,FIONREAD,&nread);
能得到緩衝區裡面有多少字節要被讀取。值放在 nread裡面了
然後就能够 read 了。nread = read(0,buffer,nread);


转载于:https://www.cnblogs.com/zfyouxi/p/3799364.html

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

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

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


相关推荐

  • Mysql insert声明优化

    Mysql insert声明优化

    2021年12月31日
    50
  • 制作initramfs镜像_原版镜像和引导镜像

    制作initramfs镜像_原版镜像和引导镜像Linuxkernel在自身初始化完成之后,需要能够找到并运行第一个用户程序(这个程序通常叫做“init”程序)。用户程序存在于文件系统之中,因此,内核必须找到并挂载一个文件系统才可以成功完成系统的引导过程。在grub中提供了一个选项“root=”用来指定第一个文件系统,但随着硬件的发展,很多情况下这个文件系统也许是存放在USB设备,SCSI设备等等多种多样的设备之上,如果需要正确引导,US

    2022年8月11日
    8
  • influx配置文件详解

    influx配置文件详解influx 配置文件详解官方文档 https docs influxdata com influxdb v1 7 administrati config 全局配置 reporting disabled false 该选项用于上报 influxdb 的使用信息给 InfluxData 公司 默认值为 false 将此选项设置为 true 将禁用报告 bind address 8088 备份恢复时使用 默认值为 8088 Metastore 配置 meta 本部分控制 InfluxDBmeta

    2025年10月7日
    3
  • Pycharm我认为最好看,最舒服的主题配色和字体设置

    Pycharm我认为最好看,最舒服的主题配色和字体设置File->Settings,如下图所示设置主题Editor->ColorScheme->Python,如下图所示,在右侧第一个框中下拉选择Twilight。这个主题看着就很舒服。设置字体Editor->General->Font,在右侧的Fonts是选择字体样式为Monospaced,大小Size设为18,行间距Linespacing设为1.2这样就设置完成啦!大概是这个样子,有没有觉得看起来hen舒服。如果有觉得更好的主题样式,欢迎大家一起来分享。

    2022年8月25日
    8
  • Spring RestController[通俗易懂]

    Spring RestController[通俗易懂]SpringRestControllerannotationisaconvenienceannotationthatisitselfannotatedwith@Controllerand@ResponseBody.Thisannotationisappliedtoaclasstomarkitasarequesthandler.Spring…

    2022年6月16日
    41
  • ASP.NET_正则表达式_匹配HTML中的一行或多行

    ASP.NET_正则表达式_匹配HTML中的一行或多行

    2021年11月16日
    47

发表回复

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

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