目录:
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*指针并不是直接指向文件,而是指向文件信息区。