当前位置:  技术问答>c/c++开源软件 iis7站长之家

read 读取 非常奇怪 而且有难度的问题

    来源: 互联网  发布时间:2016-06-23

    本文导语:  今天要用到FIFO,写了一个程序,但是read的时候 len = read ( fd, fifoBuf, sizeof(fifoBuf));   //-----------------如果写成这样就会阻塞在那里,不能继续读了。 len = read ( fd, fifoBuf, 1024);// --------------这么写就是正常...

今天要用到FIFO,写了一个程序,但是read的时候

len = read ( fd, fifoBuf, sizeof(fifoBuf));   //-----------------如果写成这样就会阻塞在那里,不能继续读了。

len = read ( fd, fifoBuf, 1024);// --------------这么写就是正常的

寻求高手解答

|
呵呵,遇到过类似的问题,当时也没找到原因,reboot以后就没再出现过了。

|
这样改一下,看看结果
int nSize = sizeof(fifoBuf);
printf("nSize=%drn", nSize);
len = read (fd, fifoBuf, nSize);

|
   打开FIFO(即命名管道)的一个主要限制是,程序不能以O_RDWR模式打开FIFO文件进行读写操作,这样做的结果并未明确定义。这个限制其实是有道理的,因为我们通常使用FIFO只是为了单向传输数据,不需要使用O_RDWR模式。

   要在程序之间双向传输数据,最好使用一对FIFO(或者使用一对普通管道),一个方向使用一个。

    
 
 

您可能感兴趣的文章:

  • C++ I/O 成员 read():读取字条符
  • read函数读取文件时如何一行一行的读取,请指教!
  • 请教各位可以用read函数读取.wav音频文件数据吗
  • Windows读取Ext4分区的工具 Ext2Read
  • CAT命令读取设备文件,驱动read函数被反复调用,为什么?
  • 初学者小问:read(file,buf,size)函数在读取文件时,file会不会自动增加?
  • linux串口读取read函数始终返回值为1,没有返回读到的字符数
  • libusb读取hid输入设备usb_interrupt_read问题!
  • 怎么样以非阻塞的方式从管道中读取数据?因为我用read函数时,如果管道没有数据就会阻塞住???
  • 如何利用read命令按行读取一个文件
  • 调用read函数读取socket流时,为何返回值总是1
  • while read的关于读取最后一行的问题
  • 用read(STDIN_FILENO, &cc, 1)读取输入,如何屏蔽ctrl+键盘输入的乱码?
  • 帮帮我用read函数一个简单的读取文本a.txt中的数据,保存到以下变量中//例子//
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing类progressmonitorinputstream的类成员方法: read定义及介绍
  • 系统启动问题(read block from filesystem resulted in short read!)在线等!!!
  • java命名空间java.sql接口connection的类成员方法: transaction_read_uncommitted定义及介绍
  • 请教: read一个socket, read返回需要多长时间?
  • java命名空间java.io类objectinputstream的类成员方法: readfully定义及介绍
  • read一个socket, 发现read到的长度是0, 是否一定代表对方调用了close关闭了socket?
  • java命名空间java.io类linenumberreader的类成员方法: read定义及介绍
  • if( (n=Readline( sockfd,line,MAXLINE) )==0)为什么服务器接收到客户FIN时,Read返回的是0。,既然FIN被读出来了,为什么Read返回的是0
  • java命名空间java.io接口objectinput的类成员方法: read定义及介绍
  • 非阻塞打开设备文件,如果1秒read不到数据,想让read退出如何做?
  • java命名空间java.io类objectinputstream的类成员方法: read定义及介绍
  • linux 下的read命令重定向
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: read_write定义及介绍
  • socket read返回问题
  • java命名空间java.io类filterinputstream的类成员方法: read定义及介绍
  • 关于epoll ET模式read的一些问题
  • java命名空间java.text类attributedcharacteriterator.attribute的类成员方法: reading定义及介绍
  • cshell脚本中read的问题
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: read_only定义及介绍
  • 我的模块的READ没有被调用
  • java命名空间java.util.zip类zipfile的类成员方法: open_read定义及介绍
  • 关于shell read命令


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3