C语言学习之文件操作总结

这篇博客是对C语言中文件操作的知识的总结和学习经验,我会先讲述一下什么是文件操作,文件操作的用法,以及使用时的注意项,还有知识总结。

总结知识:

1.文件分为程序文件与数据文件

2.在使用文件时我们要注意文件的后缀名

3.文件指针的使用依旧需要在最后关闭文件

4.feof函数不能判断文件是否结束,可以在文件结束之后判断文件的结束原因

5.熟悉使用文件的打开方式

一、文件指针

与其他的指针一样,指针可以找到文件或数据的地址,通过文件指针来访问它指向的文件信息

例:

C语言学习之文件操作总结_第1张图片

 

二、文件指针的使用

FILE*就是文件指针类型,ANSIC 规定使用fopen函数来打开文件,fclose来关闭文件

使用fopen函数时,我们需要确定文件名,以及打开方式

2.1文件名

文件名是文件的唯一标识,方便用户识别和使用。

文件名包括三部分:文件路径+文件名主干+文件后缀名

2.2打开方式

C语言学习之文件操作总结_第2张图片

 

例:C语言学习之文件操作总结_第3张图片

三、文件的操作

3.1顺序读写

顺序读写就是如同在数组当中,我们使用下标一个一个的使用数组空间

C语言学习之文件操作总结_第4张图片

 

3.2随机读写

随机读写,相对顺序读写,它就相当于利用下标隔三岔五的使用数组空间

1.fseek

根据文件指针的位置和偏移量来定位文件指针

例:

C语言学习之文件操作总结_第5张图片

 

2.ftell

返回文件指针相对于其实位置的偏移量

例:

C语言学习之文件操作总结_第6张图片

 

3.rewind

让文件指针的位置回到文件的起始位置

例:

C语言学习之文件操作总结_第7张图片

 

四、文本文件与二进制文件

根据文件的组织形式,数据文件可以成为文本文件或者二进制文件。

数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。

如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的文件就文本文件。

五、文件结束的判定

feof()是用来判断文件是否结束而是用来判断文件的结束原因是

读取失败或者是遇到文件末尾结束。

1.文本文件的判定

fgetc判断EOF是文本文件的结束

fgets判断NULL是文本文件的结束

2.二进制文件的判定

(1)fread判断返回值是否小于实际读取的个数

六、文件缓冲区

在早期我们学习getchar()、putchar(),字符输入,输出时就涉及过缓冲区的概念

C语言学习之文件操作总结_第8张图片

 

ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存中为程序中每一个正在使用的文件开辟一块“文件缓冲区”。从内存向磁盘输出数据会先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘上。如果从磁盘向计算机读入数据,则从磁盘文件中读取数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小根据C编译系统决定的。

C语言学习之文件操作总结_第9张图片

 

你可能感兴趣的:(C语言,c语言,开发语言,后端)