【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

网友投稿 664 2022-05-28

文章目录

一、C 语言中的文件操作函数

二、磁盘与内存缓冲区

三、缓冲区工作机制

一、C 语言中的文件操作函数

【C 语言】文件操作 ( C 语言中的文件操作函数 | 磁盘与内存缓冲区 | 缓冲区工作机制 )

读取

文本文件

可以使用

getc

,

fgets

,

fscanf

函数 , 向

文本文件

写出数据可以使用

putc

,

fputs

,

fprintf

函数 ;

读取

二进制文件

可以使用

fread

函数 , 向

二进制文件

写出数据可以使用

fwrite

函数 ;

二、磁盘与内存缓冲区

上述所有读写文件的函数 , 都是缓冲区函数 , 即 C 语言中的文件操作 , 都是缓冲区函数 ;

磁盘 是由 操作系统 进行读写的 , 用户写的程序 , 不能直接操作磁盘 ;

操作系统 提供 读写文件的

系统调用 接口

, 在该接口上 是

C 语言的库函数

, 最上层就是

用户程序 ;

如果要操作硬件磁盘 , 就需要知道磁盘的驱动程序 , 磁盘扇区操作等 , 这就比较复杂了 ;

C 语言库函数 中 , 维护了一个缓冲区 , 这个缓冲区是 内存 中的缓冲区 ;

使用

C 语言文件操作函数

读写的 数据 , 不是直接来自磁盘 , 而是来自

内存中缓冲区 ;

三、缓冲区工作机制

缓冲区工作机制 :

如果

缓冲区大小 64KB

, 假如使用 C 语言库函数 fread

读取一个字节数据

,

实际上会从磁盘文件中读取 64KB 数据 ,

放入内存缓冲区中 ;

这是因为 读写内存的效率 远远高于 读写磁盘的效率 ;

这样的好处是 ,

读取第 2 个字节时 , 可以直接从内存中读取 , 不需要再次读写磁盘 ;

该机制可以

增加用户程序的执行效率 ,

减少磁盘访问次数 ;

磁盘有读写寿命 , 读写次数到了 , 磁盘就会报废 ;

缓冲区内容写入磁盘的时机 :

缓冲区满了

调用 fclose 关闭文件函数

C 语言

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:弹性文件服务解密 -- 数据读写设计,数据条带化后并发读写性能最大化
下一篇:GaussDB(DWS) 数据库智能监控运维服务介绍
相关文章