fopen函数是如何打开文件,FILE类型到底是什么?文件信息区,C语言文件简单操作。

目录:

1:文件的简单操作

2:FILE类型与文件的关系。文件信息区。

一:文件操作的基本步骤

(1)打开文件,并选择操作该文件的方式(读文件“r” 写文件“w” 追加信息“a”)

FILE* pf = fopen("test.dat", "r");

这里使用fopen函数打开了一个文件名为 “test . dat”的文件,并设置操作文件的方式为只读形式。并且返回了该文件的地址。交给pf维护该文件。

(2)操作文件,使用文件操作函数对文件进行相应的读或者写的操作

(3)关闭文件,并对刚才文件指针置空(这里的操作与malloc函数申请空间类似,就不做详细介绍了)

fclose(pf);

 pf = NULL;

那么FILE类型又是如何与文件相关联的呢?????

二:FILE类型与文件的关系(文件信息区)

我们在对文件进行操作时,都是使用一个FILE类型的文件指针来对文件进行读或者写的操作,那FILE类型到底是一个什么样的类型呢????

我们在vs2019中对FILE类型进行定义查看

可以看到FILE类型是一种被重定义的结构体类型,这种结构体类型被称为文件信息区

我们在使用fopen函数打开文件的同时,fopen函数会自动生成一个与该文件相对应的FILE类型的变量(这个变量就称为该文件的文件信息区)并且fopen函数会返回这个变量的首地址。

   我们假设这个变量名为b,那么fopen函数返回的就是变量b的地址

 而FILE这种结构体类型中的成员变量,也就代表了该文件的相关信息。

我们在操作文件时,修改的都是文件信息区中,成员变量的数据,系统会自动根据文件信息区中信息的改变,去修改文件中的相应信息。

总结

我们在对文件进行操作时,我们以为自己操作的就是文件本身,其实不然,我们修改的只是该文件对应的文件信息区的数据。所以说FILE*指针并不是直接指向文件,而是指向文件信息区。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值