关于 ioctl 的 FIONREAD 参数[通俗易懂]

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

大家好,又见面了,我是你们的朋友全栈君。 ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的。而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。

 ioctl(keyFd, FIONREAD, &b)

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

接下来就可以用read了。

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

清单 – 读取串行端口输入缓冲区中的字节数 
#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://javaforall.net/163626.html原文链接:https://javaforall.net

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


相关推荐

  • 5g切片技术详解_5G切片SLA

    5g切片技术详解_5G切片SLA网络切片是5G网络的关键特征,可以在共享的基础设施上构建专用的逻辑网络。5G网络切片代表了一种网络架构,它允许独立和虚拟化的逻辑网络复用同一个物理网络基础设施。每个切片都是一个独立的端到端网络,以满足特定应用程序的各种需求。其实,切片在5G中并不是一个新概念,在4G中也存在(例如,APN、MORAN和GWCN),但其能力有限,因为它们不像在5G中那样支持完整的端到端解决方案。简单起见,假设运营商网络是一块大蛋糕,我们将其分成几片。每片包含整个网络的一部分,包括无线网络、传输网络和核心网络。此外,。。…

    2022年10月3日
    0
  • 0-1多重背包(单调队列+多重背包)[通俗易懂]

    0-1多重背包(单调队列+多重背包)[通俗易懂]原题链接有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V (0<N≤1000, 0<V≤20000),用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤1

    2022年8月8日
    4
  • 奠定未来智能家居基础 助力江门打造智慧城市

    奠定未来智能家居基础 助力江门打造智慧城市

    2022年3月4日
    40
  • 【机房重构】“ConnectionString属性尚未初始化”「建议收藏」

    【机房重构】“ConnectionString属性尚未初始化”「建议收藏」机房重构ing。在每个学习中一直陪伴我们左右的,还是那些大大小小的问题,正因为它们的存在,才让我们的学习有了收获,有了纠结,也有了乐趣。这几天一直在研究sqlhelper和泛型集合的使用,很那什么的说,纠结了几天,今天算是有点结果了,但是结果永远不会轻松而至,看,问题又来了。

    2022年7月15日
    14
  • CEMAPI实战攻略(二)——建立与短信信箱的连接

    CEMAPI实战攻略(二)——建立与短信信箱的连接CEMAPI实战攻略by吴春雷QQ:819543772Email:wuchunlei@163.com二.建立与短信信箱的连接上一部分已经讨论过,如何搭建开发和测试环境,以及如何初始化CEMAPI,再

    2022年7月3日
    21
  • C++ 中的容器类详解

    C++ 中的容器类详解C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector    连续存储结构,每个元素在内存上是连续的;    支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操…

    2022年9月13日
    0

发表回复

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

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