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等一系列函数都是如此。
转载于:https://www.cnblogs.com/mthoutai/p/6736138.html
fread与read的差别(文件io补充)相关推荐
- Linux 文件 IO
参考:http://blog.csdn.net/wanxiao009/article/details/5648583 C 和 C++ 文件操作详解:http://blog.csdn.net/freek ...
- linux 文件io实例代码,linux 文件IO(示例代码)
1.文件描述符 (1)文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表. (2) ...
- Python地信专题 | 基于geopandas的空间数据分析-文件IO篇
本文对应代码和数据已上传至Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的坐标 ...
- step4 . day1标准IO和文件IO
标准IO:ANSI C中定义的一系列用于对IO操作的函数,(只能访问普通文件) 知识点:流指针:文件的操作,标准IO通常通过一个FILE的结构体,称这个结构体为流,他的指针称为流指针(系统自动打开的流 ...
- php中pandans,Python地信专题 | 基于geopandas的空间数据分析-文件IO篇
本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的 ...
- Linux中的文件IO
1.什么是文件IO (1)IO就是input/output,输入/输出.文件IO的意思就是读写文件. 2.linux常用文件IO接口 (1)open.close.write.read.lseek 3. ...
- IO进程——系统IO与文件IO
IO进程--系统IO与文件IO 在应用开发过程中会经常需要访问文件.Linux下读写文件的方式有两大类:标准IO和文件IO.本次就来讲一讲文件IO和标准IO,以及两者的区别. 一.文件IO 在Linu ...
- 文件IOday02--------时间编程与文件IO
目录 一,时间编程 1,概念: 2,在程序开发费时,可以获取标准时间(以秒为单位) 将标准时间转换为字符串格式的时间的函数 char *ctime(time_t*timep) 将标准时间转换为本地时 ...
- 文件IO编程之学习总结
目录 一.多文件编程 二.⽬录(⽂件)操作 1.创建⽬录mkdir 2.删除⽬录rmdir 3.打开⽬录⽂件 4.获取打开⽬录中的⽂件readdir 5.关闭打开的⽬录⽂件closedir 6.字符串 ...
最新文章
- 被嫌弃的贝叶斯派的逆袭
- Windows计算机管理打不开提示程序未关联解决办法
- Java Collection
- 数据结构之Treap
- Windows Phone 7 程序菜单栏ApplicationBar
- boost::mpl模块实现pair_view相关的测试程序
- Mac安装sshpass同时解决Calling Non-checksummed download of sshpass formula file from an arbitrary URL报错
- JavaScript——BOM知识
- 基于JSP的蛋糕销售系统设计与实现答辩ppt模板
- 全网最好用的VS Code插件推荐
- 使用钢片刷锡膏的一种解决方案
- 遗传算法matlab_遗传算法 (GA) 进行多参数拟合 【MATLAB】
- Layout天线效应的产生原因以及解决方法
- 计算机的进制的转换公式,计算机进制转换公式
- A 跳高【中兴捧月神算师-算法精英挑战赛-比特派第一场】
- postman中从url中获取各参数值
- 你有没有玩命爱过一个姑娘
- 最新鸽哒IM即时通讯系统源码+带安装教程
- 【王道】今晚7:30 浙江大学专场,学长学姐帮你指引ZJUCS/SE考研!
- 安天移动安全应对“DressCode”威胁,发布企业移动威胁检查工具
热门文章
- 【新】刀具管理系统 上线~~
- FontForge字体设计
- Ubuntu gnome安装Monaco字体,FontForge module is probably not installed
- 浏览器不能打开html,浏览器的网页点不动是怎么回事?
- Hadamard 积
- 大数据24小时:美图发布区块链技术白皮书,百度副总裁邬学斌宣布离职或将加入宝能汽车
- UnityShader基础案例(八)——全局雾效
- 积木创意:互联网巨头们如何下新零售这盘棋
- S8 U8 S16_LE S16_BE U16_LE U16_BE格式
- 最长公共子序问题 ( LCS, Longest Commom Subsequence )POJ-1458