学习笔记(30):C语言 从小白到大神: 入门篇-文件的开、关、读、写,实战操练
立即学习:https://edu.****.net/course/play/8088/178714?utm_source=blogtoedu
1. 文件的打开
文件在读或者写之前,我们必须要打开,在读或者写结束之后,我们必须要关闭,否则会造成资源泄露;
文件的打开使用fopen函数,调用方式如下:
FILE *fp; //FILE是个结构,fp是指向结构FILE的指针变量
fp = fopen(文件名,使用文件的方式); //
例如:fp = fopen(“text1.txt”,”r”); //打开text1文件,使用的方式为只读;
fopen()这个函数返回一个指向text1文件的指针,这个指针被赋值给了fp。我们可以认为fp指向了text1文件。
FILE结构的意义:保存很多和文件有关的信息,如文件名,文件打开方式,当前文件位置等;
fopen()函数有可能执行失败,比如文件不存在,他就会执行失败,这个时候fopen()会返回一个空
打开方式表:
2. 文件的关闭
文件只有在成功被fopen打开之后,才存在文件关闭的问题
为什么要关闭文件:
(1)释放这个文件占用的内存资源,如果很多资源都用了不释放,那么最后内存资源耗尽就会导致程序崩溃
(2)我们往文件里写数据时不会立即往磁盘上写,系统会把数据写到一个叫“缓冲区”这么一个地方,缓冲区满时系统才往磁盘文件上写,写完之后把缓冲区清空继续等待用户往文件中写数据。如果缓冲区数据没有满却退出了程序,那么缓冲区的数据就没来得及写到磁盘文件上,造成数据丢失。关闭文件这个动作会触发系统把缓冲区中的数据立即写到磁盘上,这就避免了缓冲区中的数据丢失的问题。
文件关闭函数的一般形式:
fclose(文件指针);
如:
if(fp != NULL)
fclose(fp); //fp就是fopen()的返回值
3. 文件的读写