当前位置: 首页 > news >正文

什么是【文件信息区】

在这里插入图片描述

本期介绍🍖
主要介绍:什么是文件信息区,文件信息区中存放些什么,文件信息区本质上是什么,文件信息区的作用是什么👀。


  每一个正在被使用的文件都会在内存中开辟一块空间,用以存放文件的相关信息(如:文件名、文件大小、文件的位置等等),故称这块空间为文件信息区。每一个文件信息区都会唯一的与一个文件严格绑定在一起,也就是说每一个被打开的文件都会拥有独立的文件信息区。如下图所示:

在这里插入图片描述

  文件信息区本质上就是个结构体变量,该结构体的类型为FILE,是编译器设计之初就定义的一种专门用于存放文件信息的类型。在vs2013编译环境中FLIE的类型声明如下所示:

struct _iobuf 
{
	char* _ptr;
	int   _cnt;
	char* _base;
	int   _flag;
	int   _file;
	int   _charbuf;
	int   _bufsiz;
	char* _tmpfname;
};
typedef struct _iobuf FILE;

  可以看出,FILE就是一个重命名的结构体类型。还值得一提的是,当我们进行文件读写操作的时候文件发生了改变,文件信息区里存放的信息也会跟着变化,所以我们可以说文件信息区维护了文件相关的动作。文件信息区与文件的关系如下图所示:
在这里插入图片描述

  注意:
   1. 不同的C编译器FILE类型包含的内容是不完全相同的,但都大同小异。
   2. 每当打开一个文件,系统会更具文件的情况自动创建一个FILE类型的变量,并填充其中的信息,使用者不必关注细节。


在这里插入图片描述

这份博客👍如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧👀。

相关文章:

大半夜排查bug:竟然是同事把Redis用成这鬼样子,坑了我

首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象。 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越…...

薪资17K,在字节外包工作是一种什么体验...

我17年毕业于一个普通二本学校,电子信息工程学院,是一个很不出名的小本科。大学期间专业知识也没有去认真的学习,所以毕业的时候就随便找了一份工作,在一个小公司做功能测试。 记得那时候税前薪资大概是7k左右,因为是…...

mybatis-plus批量更新太慢,如何解决?

最近使用mybatis-plus的 saveOrUpdateBath 和saveBath接口执行特别慢,数据量大时往往需要十几分钟,打开日志查看原来批量操作也是循环单条数据插入的,那有没有批量更新的办法呢?? mybatis-plus 提供了一个自定义方法s…...

收藏 | C语言最常用的贪心算法

01 基本概念 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选…...

初识Shell脚本

1.1 什么是Shell脚本 通俗讲,Shell脚本就是包含一系列命令的文件。Shell读取该文件并执行其中的命令。Shell的独特之处在u它既是系统强大的命令行接口,又是脚本语言解释器。命令行中完成的大部分事情,脚本中都可以搞定。 1.2 创建并执行She…...