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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十大经典排序算法java(几种排序算法的比较)

    四种常用排序算法冒泡排序特点:效率低,实现简单思想(从小到大排):每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往前排。publicvoidbubbleSort(intarray[]){intt=0;for(inti=0;i&amp;amp;lt;…

    2022年4月11日
    60
  • pycharmlinux安装教程_怎么安装pycharm及环境变量配置

    pycharmlinux安装教程_怎么安装pycharm及环境变量配置1.在官网下载pycharm安装包1.1进入官网:DownloadPyCharm:PythonIDEforProfessionalDevelopersbyJetBrains,选择Professional专业版,直接下载;【自己可以选择pycharm的不同版本】1.2进入跳转页面后,出现提示框,点savefile;1.3下载完成后,打开安装包下载的位置;2.安装pycharm2.1解压文件2.打开终端,进入pych…

    2022年10月9日
    2
  • Android特效开发(仿zaker用手向上推动的效果(推动门效果))

    本文由manymore13原创,转载请标明出处 http://blog.csdn.net/manymore13/article/details/12219687     最近在商店下载了zaker ,闲暇时拿来看看新闻!发现每次打开软件进入主界面时有个界面,需要你把它往上滑到一定距离才能进入到主界面。每次进入软件时它的背景可能不一样,在往上拨的时候你会看见主界面,好似向上推的门一样!

    2022年3月10日
    33
  • navate15激活码【最新永久激活】

    (navate15激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~AE…

    2022年3月28日
    83
  • Spring获取request对象的几种方式[通俗易懂]

    Spring获取request对象的几种方式[通俗易懂]参考文章:在SpringMVC中获取request对象的几种方式Springboot获取request和response使用Springboot,我们很多时候直接使用@PathVariable、@RequestParam、@Param来获取参数,但是偶尔还是要用到request和response,怎么获取呢?也很方便,有三种方式可以获取,任选其一就行。1、通过静态方法…

    2022年5月18日
    54
  • 电脑蓝屏错误代码0x000000ED_0x00000019蓝屏win7

    电脑蓝屏错误代码0x000000ED_0x00000019蓝屏win7相信大家都遇到过电脑蓝屏的情况,而且蓝屏故障是一件非常麻烦的事情,前不久小编电脑出现蓝屏并且提示错误代码是0x000000BE,很多用户可能会直接选择重装系统,其实不用这么麻烦,出现0x000000BE很有可能是硬件设备驱动程序存在BUG或安装不正确引起,具体一起来看看。解决方法:在开机过程中按下f8键进入Windows高级启动菜单,进入安全模式,也许会有改善。再重启电脑,继续按F8键,此时可以选…

    2022年10月8日
    2

发表回复

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

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