当前位置:  技术问答>linux和unix

关于fread是否会阻塞的问题

    来源: 互联网  发布时间:2016-11-20

    本文导语:  1 fread这个函数是阻塞的吗? 2 当我读取某一个文件是否需要等到fread返回才能继续下面的操作? 3 还有,如果我读取的文件内部有错误(例如,那一块磁盘有问题,或是其他的一些问题),此时fread还能继续正常读取...

1 fread这个函数是阻塞的吗?
2 当我读取某一个文件是否需要等到fread返回才能继续下面的操作?
3 还有,如果我读取的文件内部有错误(例如,那一块磁盘有问题,或是其他的一些问题),此时fread还能继续正常读取吗?如果读不到,fread是否会阻塞住,还是能马上返回异常?

|
1.fread不是阻塞函数,要不就是读到了,要不就是读不到或者异常返回。
2.fread函数打开文件后如果是读写方式,则该该文件直到操作完成后,其他进程才能对其操作。
  所为执行该函数后肯定会有一个返回
3.fread有异常直接会返回错误。不会阻塞等待。

|
如果用fread读文件,不会阻塞
如果用来读管道、socket连接等,则可能会阻塞

|
你可以设置fd的属性为阻塞或非阻塞

|
应该阻塞;
从文件读一定大小的数据,没内容可读则返回已读数据大小;
返回0通常是读到了文件尾。如果你确认没有到
文件尾,可以用ferror检查错误。

if ( ferror ( fp ) )
{
 printf("File read error.");
}

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于fopen,fread,fgets的问题,请教
  • FILE* stream fread fwrite 的使用方法
  • fread函数使用出错
  • fread 和 fgets的选择?
  • read/write 和 fread/fwrite 有什么区别
  • fread和read
  • fread函数的疑问。。
  • 请问 fread(pDataBuf,1024*1024*100,1,*pfile);可以一次读出这么多数据吗?
  • read()和fread()
  • fread时总是提示段错误是什么原因?
  • open与fopen,read与fread用哪个比较好?
  • 做socket程序,用recv,send这些函数好还是用fread,fwrite好?
  • 我想查看fputs(),fread(),fwrite(),fclose()函数的源代码,请问这部分的源代码在哪个RPM包里。
  • fread()函数
  • read/write已经有了缓冲实现,为什么fread/fwrite还要实现缓冲?
  • 同样的代码,换个系统编译就出事了,/usr/include/bits/stdio2.h:282: undefined reference to `__fread


  • 站内导航:


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

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

    浙ICP备11055608号-3