fread与read的差别(文件io补充)

这里有一个我们常常提出的问题就是fread,read的差别。(当然这两个分别代表了操作文件系统的两套不同的函数,包含open,read, write, seek 等)。

一.他们的差别就是一个(read)是UNIX 中的系统调用,是类UNIX系统。提供给程序猿操作文件的接口(要不然你怎样操作文件?);而另外一个则是C语言提供的读取文件的函数库,自然这个函数库(ANSI)的实现是以相应的系统调用为基础的。

二.fread有缓冲(准确的说法是缓冲的空间不同)

这里说缓冲。事实上read函数也有缓冲(可是非常多人说没有,依据资料。read是系统函数,而内核在读取硬盘(外设设备)时,自己也会缓冲读写),可是fread缓存在用户空间。而read是缓存在内核。所以假设使用read读一个文件时。通常须要很多其它的訪问cpu。而fread能够较少訪问cpu次数。进而提高效率。所以。假设文件须要进用户程序。你一般使用fread较好。而你仅仅是单纯的复制的话,就是从这块磁盘到还有一块磁盘,那就通常是使用read较好,由于这样能够避免数据进入用户空间,内核直接实现,效率更高。

相同的fwrite、write等一系列函数都是如此。

posted on 2017-04-19 21:58 mthoutai 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/mthoutai/p/6736138.html

fread与read的差别(文件io补充)相关推荐

  1. Linux 文件 IO

    参考:http://blog.csdn.net/wanxiao009/article/details/5648583 C 和 C++ 文件操作详解:http://blog.csdn.net/freek ...

  2. linux 文件io实例代码,linux 文件IO(示例代码)

    1.文件描述符 (1)文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表. (2) ...

  3. Python地信专题 | 基于geopandas的空间数据分析-文件IO篇

    本文对应代码和数据已上传至Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的坐标 ...

  4. step4 . day1标准IO和文件IO

    标准IO:ANSI C中定义的一系列用于对IO操作的函数,(只能访问普通文件) 知识点:流指针:文件的操作,标准IO通常通过一个FILE的结构体,称这个结构体为流,他的指针称为流指针(系统自动打开的流 ...

  5. php中pandans,Python地信专题 | 基于geopandas的空间数据分析-文件IO篇

    本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的 ...

  6. Linux中的文件IO

    1.什么是文件IO (1)IO就是input/output,输入/输出.文件IO的意思就是读写文件. 2.linux常用文件IO接口 (1)open.close.write.read.lseek 3. ...

  7. IO进程——系统IO与文件IO

    IO进程--系统IO与文件IO 在应用开发过程中会经常需要访问文件.Linux下读写文件的方式有两大类:标准IO和文件IO.本次就来讲一讲文件IO和标准IO,以及两者的区别. 一.文件IO 在Linu ...

  8. 文件IOday02--------时间编程与文件IO

    目录 一,时间编程 1,概念:  2,在程序开发费时,可以获取标准时间(以秒为单位) 将标准时间转换为字符串格式的时间的函数 char *ctime(time_t*timep) 将标准时间转换为本地时 ...

  9. 文件IO编程之学习总结

    目录 一.多文件编程 二.⽬录(⽂件)操作 1.创建⽬录mkdir 2.删除⽬录rmdir 3.打开⽬录⽂件 4.获取打开⽬录中的⽂件readdir 5.关闭打开的⽬录⽂件closedir 6.字符串 ...

最新文章

  1. 被嫌弃的贝叶斯派的逆袭
  2. Windows计算机管理打不开提示程序未关联解决办法
  3. Java Collection
  4. 数据结构之Treap
  5. Windows Phone 7 程序菜单栏ApplicationBar
  6. boost::mpl模块实现pair_view相关的测试程序
  7. Mac安装sshpass同时解决Calling Non-checksummed download of sshpass formula file from an arbitrary URL报错
  8. JavaScript——BOM知识
  9. 基于JSP的蛋糕销售系统设计与实现答辩ppt模板
  10. 全网最好用的VS Code插件推荐
  11. 使用钢片刷锡膏的一种解决方案
  12. 遗传算法matlab_遗传算法 (GA) 进行多参数拟合 【MATLAB】
  13. Layout天线效应的产生原因以及解决方法
  14. 计算机的进制的转换公式,计算机进制转换公式
  15. A 跳高【中兴捧月神算师-算法精英挑战赛-比特派第一场】
  16. postman中从url中获取各参数值
  17. 你有没有玩命爱过一个姑娘
  18. 最新鸽哒IM即时通讯系统源码+带安装教程
  19. 【王道】今晚7:30 浙江大学专场,学长学姐帮你指引ZJUCS/SE考研!
  20. 安天移动安全应对“DressCode”威胁,发布企业移动威胁检查工具

热门文章

  1. 【新】刀具管理系统 上线~~
  2. FontForge字体设计
  3. Ubuntu gnome安装Monaco字体,FontForge module is probably not installed
  4. 浏览器不能打开html,浏览器的网页点不动是怎么回事?
  5. Hadamard 积
  6. 大数据24小时:美图发布区块链技术白皮书,百度副总裁邬学斌宣布离职或将加入宝能汽车
  7. UnityShader基础案例(八)——全局雾效
  8. 积木创意:互联网巨头们如何下新零售这盘棋
  9. S8 U8 S16_LE S16_BE U16_LE U16_BE格式
  10. 最长公共子序问题 ( LCS, Longest Commom Subsequence )POJ-1458