文件IO和标准IO主要的区别在于有无缓冲区,标准IO在进行系统调用操作时,会先操作缓冲区,而文件IO则直接进行系统调用。(常见的系统调用write、read、printf等)

标准IO:在操作文件的时候,先操作缓冲区,在进行系统调用。在缓冲区满了或者有换行符的时候进行系统调用操作,比如读写操作。前者为全缓冲,后者为行缓冲。

文件IO:在操作文件的时候,直接调用系统函数对文件进行读写。这种的操作称之为无缓冲操作。

优劣:因为系统调用的过程需要从用户太切换到内核态,使用文件IO的时候,会没进行一个字节的读写都需要从用户态切换到内核态,如此频繁的进行切换极大的消耗了系统的资源。而标准IO在进行读写的时候,会先把读写的内容存放在缓冲区,等待全缓冲或者行缓冲出现,然后把缓冲区里面的数据通过一次系统调用和文件进行数据交互

文件IO——标准IO和文件IO的区别相关推荐

  1. Golang:os/io标准库读取文件

    测试环境 $ go version go version go1.19 darwin/amd64 方法签名 func os.ReadFile(name string) ([]byte, error)f ...

  2. 未指定的IO标准导致vivado生成bit文件报错

    1.1 未指定的IO标准导致vivado生成bit文件报错 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)未指定的IO标准导致vivado生成bit文件报错: 5)结束 ...

  3. 22-04-23 西安 javaSE(14)文件流、缓冲流、转换流、对象流、标准流、关闭IO资源的封装类IOUtils(纳命来)

    一.IO流认识一下: 根据数据流向进行分类: 输入流(其他设备->内存)         输出流:(内存->其他设备) 根据数据流向单位进行分类:         字节流:输入输出以字节为 ...

  4. java.io几种读写文件的方式

    一.Java把这些不同来源和目标的数据都统一抽象为数据流. Java语言的输入输出功能是十分强大而灵活的. 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作 ...

  5. linux io函数,Linux下普通IO文件操作函数---C语言

    普通文件io总结 file结构体 typedef struct { int level; /*填充/清空一级缓存*/ unsigned flag; /*文件状态指针*/ char fd; /*文件描述 ...

  6. 五.Java IO、NIO、文件、通讯

    2019独角兽企业重金招聘Python工程师标准>>> Java 的 I/O 大概可以分成四组: 基于字节操作的 I/O :InputStream 和 OutputStream 基于 ...

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

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

  8. C++primer第八章 IO库 8.2 文件输入输出

    8.2文件输入输出 头文件fstream定义了三个类型来支持文件IO:ifstream从一个给定文件读取数据,ofstream向一个给定文件写入数据,以及fstream可以读写给定文件.在17.5.3 ...

  9. 实验1:用户的登录与退出、IO重定向与简单文件操作

    实验1:用户的登录与退出.IO重定向与简单文件操作 1.实验目的 (1).掌握系统开启和关闭的方法及正常关闭系统的意义和必要性: (2).掌握用户的登录与退出的方法及用户退出系统或注销的意义和必要性: ...

最新文章

  1. fp格式图片_2020Pamp;I | 适马无反版100-400镜头亮相,fp全幅微单满足不同需求
  2. ​《2021联邦学习全球研究与应用趋势报告》发布,中美为最大领跑者 | 附下载链接...
  3. 计算机外观类型,知道你的笔记本电脑是什么类型的吗?五大类型派对号入座
  4. 打字练习网站使用感受
  5. Winform中实现ZedGraph滚轮缩放后自动重新加载数据
  6. 看了《OCP/OCA认证考试指南全册:Oracle Database 11g(1Z0-051,...
  7. 【原创】搭建spark环境中的坑及解决办法
  8. 第四百零四天 how can I 坚持
  9. python自动登录灯塔党建_python 奇淫技巧之自动登录 哔哩哔哩
  10. html 制作用户注册页面模板,注册登录页面模板
  11. 10 个用于网络管理员进行高级扫描的端口扫描工具
  12. Theano框架学习
  13. Excel冻结窗格纪要
  14. python图片鉴黄_深夜,使用NSFW尝试一下图片鉴黄
  15. 根据北上资金操作上证50指数基金
  16. Python中的enumerate用法
  17. POJ-2502 Subway( 最短路 )
  18. 【目标规划】暑假计划
  19. python编程练习:模拟水文模型中的水箱模型(tank model),不含参数率定过程
  20. Linux挂载ssd移动硬盘,linux下挂载移动硬盘

热门文章

  1. 解决Anaconda环境未激活的warning
  2. html 水平分割,HTML设置水平分割线
  3. 小米5怎么安android,小米5怎么插卡 小米5手机安装sim卡图文教程
  4. 数字图像处理——图像退化(大气湍流模型与运动模糊模型)与图像复原(逆滤波与维纳滤波)
  5. php工程师成长资料
  6. 百度何中军:机器翻译——从设想到大规模应用
  7. 使用pysam读取DNA序列
  8. 离散数学班委竞选问题用python程序实现(课本p45.30)
  9. 密码学Chapter4、5作业
  10. linux 参考文献格式转化,科学网-Endnote向Bibtex格式的转换-郑小宏的博文