第10章 文件
第10章 文件操作
第10章 文件操作
本章主要内容
1.能够建立新文件和更新文件内容
2.能够从顺序文件中读取数据
3.了解对文件进行操作的步骤
4.熟悉对顺序文件进行操作的方式
5.了解对随机文件进行操作的方式
6.了解对文件的低级读写操作
10.1 文件的概念
10.1 文件的概念
计算机可处理的文件:源程序,图形文件、音频文件、数据文件等等。
计算机可处理的文件:
按数据的组织形式可分为:文本文件、二进制文件
按数据的组织形式可分为:
C语言可以对文本文件和二进制文件进行读写操作。
文件就是记载在外部存储器上的数据的集合。
C语言把这些数据的集合看成是字符(或字节)序列。
(或者说C语言是把每一个文件都看作是一个有序的字节流)
0 1 2 3 4 … n-1 结束标志
流——是文件和程序之间通讯的通道
程序可以创建文件和对文件内容进行更新、修改。
程序中所需的数据也可以从另一个文件中获得。
10.2 文件的操作
10.2 文件的操作
对文件的操作方式
1.缓冲文件系统(或称为标准I/O )
2.非缓冲文件系统(或称为系统I/O )
缓冲文件系统会自动地在内存中开辟一个文件缓冲区,
对文件进行处理时, 通过文件缓冲区进行输入/输出操作。
非缓冲文件系统不设置缓冲区,由程序设置缓冲区的大小。
10.2 文件的操作
10.2 文件的操作
10.2.1 文件的打开与关闭
文件指针:用于对文件进行操作。
文件指针的类型为结构类型,已由系统定义。
类型名为FILE(在头文件stdio.h 中),定义形式如下:
typedef struct {
short level; /* fill empty level of buffer */
unsigned flags; /* File status flags */
char fd /* File descriptor */
unsigned char hold; /* ungetc char if no buffer */
short bsize; /* Buffer size
unsigned char *buffer; /* Data transfer buffer */
unsigned char *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
}FILE; /* This is the FILE object */
10.2 文件的操作
10.2 文件的操作
10.2.1 文件的打开与关闭
文件操作之前必须要先定义文件指针变量。
定义形式:FILE *;