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

read/write 和 fread/fwrite 有什么区别

    来源: 互联网  发布时间:2015-03-08

    本文导语:  read/write 和 fread/fwrite 有什么区别 实现机制是什么,两者有什么联系 对文件读写,两者那个效率更高,速度更快 例如:我要进行大数据量文件的读写操作,用那一组速度更快 | 举个例子: 如果文件...

read/write 和 fread/fwrite 有什么区别
实现机制是什么,两者有什么联系
对文件读写,两者那个效率更高,速度更快

例如:我要进行大数据量文件的读写操作,用那一组速度更快


|
举个例子:
如果文件的大小是8K。
你如果用read/write,且只分配了2K的缓存,则要将此文件读出需要做4次系统调用来实际从磁盘上读出。
如果你用fread/fwrite,则系统自动分配缓存(一般大于8K),则读出此文件只要一次系统调用从磁盘上读出。
也就是用read/write要读4次磁盘,而用fread/fwrite则只要读1次磁盘。效率比read/write要高4倍。
如果程序对内存有限制,则用read/write比较好。

|
一般用来处理文件
都用fread 和fwrite,它自动分配缓存,速度会很快,比自己来做要简单
如果要处理一些特殊的描述符,用read 和write,如套接口,管道之类的

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












  • 相关文章推荐
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: read_write定义及介绍
  • 对同一设备文件操作,write后,能read出刚write的内容,为什么???
  • read write ??????????????????
  • read 和write问题!
  • socket中的疑问:read,write和send,recv的区别
  • 有关read,write,open的用法
  • write(1, buf, 8); 和 read(0, buf, 8);
  • Linux下怎么使用write read 操作外设
  • ioctl与read/write的两难境地
  • stdio和read/write,缓冲区写满时阻塞的实现机制是什么
  • connect成功后返回的sockfd在以后read和write出错后是不是也要close一下啊?
  • read、write和close对应到C++库是什么函数
  • 请问,对于管道,如果还没有write就开始read,为什么它的执行效果就跟运行一个无限循环一样?
  • 关于read,write,sleep的问题。
  • socket程序中read字节个数与write字节个数不同
  • 请教read()和write()函数的问题
  • Novell客户端登陆成功后一段时间,不能读写f盘,General reading/writing drive, Rerty,abort,fail?
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 请教:我给 vmware 安装 tools 时,提示 /dev/cdrom/ is write-protected ,mounting reading only ,各位大哥,我这要怎么改啊?谢谢!
  • 【请教】read()返回的字节数远远小于write()返回的字节数,接收数据不完整。虚心求解
  • 一道笔试题:用open/close/read/write完成大文件读写。
  • C++ I/O 成员 read():读取字条符
  • 系统启动问题(read block from filesystem resulted in short read!)在线等!!!
  • java命名空间javax.swing类progressmonitorinputstream的类成员方法: read定义及介绍
  • 请教: read一个socket, read返回需要多长时间?
  • java命名空间java.sql接口connection的类成员方法: transaction_read_uncommitted定义及介绍
  • read一个socket, 发现read到的长度是0, 是否一定代表对方调用了close关闭了socket?
  • java命名空间java.io类objectinputstream的类成员方法: readfully定义及介绍
  • if( (n=Readline( sockfd,line,MAXLINE) )==0)为什么服务器接收到客户FIN时,Read返回的是0。,既然FIN被读出来了,为什么Read返回的是0
  • java命名空间java.io类linenumberreader的类成员方法: read定义及介绍
  • 非阻塞打开设备文件,如果1秒read不到数据,想让read退出如何做?


  • 站内导航:


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

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

    浙ICP备11055608号-3