缓化学缓比件系统 早期的C语言有两种处理文件的方法:一种叫“缓 冲文件系统”,一种叫“非缓冲文件系统”。 所谓缓冲文件系统是指:系统自动地在内存中为每 个正在使用的文件开辟一个缓冲区。输出时,程 序中的数据先送入缓冲区,装满后才一起输出到磁 盘;输入时,先从磁盘读一批数据到缓冲区(充满 之),然后逐个将数据送到程序中(赋给变量) 缓冲区的大小因C版本而定,一般为512字节。 所谓非缓冲文件系统是指:系统不自动开辟缓冲区, 缓冲区由编程者自己开辟、管理。1983年, ANSIC 不再采用非缓冲文件系统,我们也不再作介绍。 《C语言程序设计》
《C语言程序设计》 6 缓冲文件系统与非缓冲文件系统 – 早期的C语言有两种处理文件的方法:一种叫“缓 冲文件系统”,一种叫“非缓冲文件系统”。 – 所谓缓冲文件系统是指:系统自动地在内存中为每 一个正在使用的文件开辟一个缓冲区。输出时,程 序中的数据先送入缓冲区,装满后才一起输出到磁 盘;输入时,先从磁盘读一批数据到缓冲区(充满 之),然后逐个将数据送到程序中(赋给变量)。 缓冲区的大小因C版本而定,一般为512字节。 – 所谓非缓冲文件系统是指:系统不自动开辟缓冲区, 缓冲区由编程者自己开辟、管理。1983年,ANSI C 不再采用非缓冲文件系统,我们也不再作介绍
132作的用 NHAIANNAiC 我们使用文件的目的是为了存放数据,因此, 对文件的操作主要可以分为两种:读操作和 写操作。读操作是从文件中读取数据;写操 作是往文件中写数据,包括建立一个新文件 往文件中追加数据、插入数据或修改数据。 C语言中没有专门处理文件的语句,对文件 的读写操作都是由库函数来完成的。这些库 函数的声明都保存在头文件 stdio.h中,因此 在程序的头部要加上# nclude< stdio. h>。 《C语言程序设计》
《C语言程序设计》 7 •13.2 文件的使用 • 我们使用文件的目的是为了存放数据,因此, 对文件的操作主要可以分为两种:读操作和 写操作。读操作是从文件中读取数据;写操 作是往文件中写数据,包括建立一个新文件、 往文件中追加数据、插入数据或修改数据。 • C语言中没有专门处理文件的语句,对文件 的读写操作都是由库函数来完成的。这些库 函数的声明都保存在头文件stdio.h中,因此 在程序的头部要加上#include <stdio.h>
文作类型 缓冲文件系统中,每个正在被使用的文件 都在内存中开辟一个区域,存放有关该文 件的信息(如文件名、文件状态、当前位 置等)。C语言将这些信息保存在一个结 构体变量中,该结构体类型是由系统定义 的,取名为FILE(见课本310页)。 《C语言程序设计》
《C语言程序设计》 8 文件类型 • 缓冲文件系统中,每个正在被使用的文件 都在内存中开辟一个区域,存放有关该文 件的信息(如文件名、文件状态、当前位 置等)。C语言将这些信息保存在一个结 构体变量中,该结构体类型是由系统定义 的,取名为FILE(见课本310页)
1/3形关 133.1打开文件函数 [fopen 1332关闭文件函数、检测错误函数 《C语言程序设计》
《C语言程序设计》 9 •13.3 文件的打开与关闭 • 13.3.1 打开文件函数fopen • 13.3.2 关闭文件函数、检测错误函数
31数0n 对文件进行读写之前应当“打开”该文件, 读写完毕之后应当“关闭”该文件。 ANSI C规定使用 fopen函数来打开文件。 fopen函数的原型为 FILE*fopen(char filename, char*mode 其中, filename指定要打开的文件名,可以使 用字符串常量,也可以使用指向字符串的指 针变量;mode表示文件的使用方式(见312页 表131)。 《C语言程序设计》
《C语言程序设计》 10 13.3.1 打开文件函数 fopen • 对文件进行读写之前应当“打开”该文件, 读写完毕之后应当“关闭”该文件。 • ANSI C规定使用fopen函数来打开文件。 fopen函数的原型为: –FILE *fopen(char *filename, char *mode); • 其中,filename指定要打开的文件名,可以使 用字符串常量,也可以使用指向字符串的指 针变量;mode表示文件的使用方式(见312页 表13.1)