当前位置:
文档之家› C语言程序设计-电子教案 第11章 文件
C语言程序设计-电子教案 第11章 文件
读文件就是从文件往内存中读取数据。根据存储数据的形式不同可以采用 以下读取函数来实现文件的读取。
(2)fgets函数
使用格式:
fgets(str,n,fp);
– 该函数从fp指向的文件中读取n-1个字符并将其保存在str指定的内存单 元中,并在其后自动追加结束标志'\0'。 – 其中,fp是已定义过的文件指针变量。 – 函数执行成功时返回0,失败时返回非0值。
– 该函数从fp指向的文件中读取一个字符并将它保存在变量ch中。 – 其中,fp是已定义的文件指针变量。如果读到文件末尾或出错时,该函 数返回文件结束标志EOF。 – EOF是在stdio.h头文件中定义的宏,其值为-1。
第11章 文件
11.2 文件处理
11.2.3 文件处理采用的函数
2. 文件读取函数
文件的处理步骤:
(1)打开文件 (2)读或写文件 (3)关闭文件
第11章 文件
11.2 文件处理
11.2.3 文件处理采用的函数
1.文件打开函数
文件在使用之前必须先打开。所谓“打开”是在程序和操作系统之间建立 起联系,程序把所要操作文件的一些信息通知给操作系统。 文件打开用fopen函数实现。它的一般使用方法为:
第11章 文件
11.2 文件处理
11.1.2 缓冲文件系统
– 当程序中用到某个文件,系统就为此文件开辟一个FILE类型的 变量存储空间。但是,这个存储空间通常不用变量名来标识, 而是设置一个指向该结构体变量的指针变量,通过它来访问该 结构体变量(信息区)。这个指针变量就是文件指针。 例如:FILE *fp1,*fp2,*fp3; – 这样就定义了三个指针变量fp1、fp2、fp3,它们都是指向FILE 类型结构体数据的指针变量。 – 如果把某一个文件信息区的起始地址赋给fp1(或fp2、fp3), fp1就指向该信息区(如图11-2所示)。 – 通过fp1、fp2、fp3就可以访问相应文件的信息区,从而达到操 作有关文件的目的。
第11章 文件
11.2 文件处理
11.2.2 文件的处理过程
– 文件在使用前要打开,使用后要关闭。
• 打开文件的过程就是使文件指针指向外存中某一文件的过程,通过文件 指针实现对文件的读/写操作。 • 关闭文件的过程就是切断文件指针与外存中某一文件联系的过程,文件 操作结束。
– 文件的处理过程如图11-3所示。 文件的处理步骤为: (1)打开文件:使用函数fopen()。 (2)读或写文件:
读函数:fgetc()、fgets()、fscanf、()fread()、getw()。 写函数:fputc()、fouts()、fprintf()、fwrite()、putw()。
(3)关闭文件:使用函数fclose()。
第11章 文件
11.2 文件处理
11.2.2 文件的处理过程
数据的处理形式有:
第11章 文件
11.1 文件的基本概念
11.1.1 文件的定义与分类 3.按存储介质划分
– 从存储介质上看,文件可分为磁盘文件、磁带文件、光盘文件 以及打印文件等。
4.按读写方式划分
– 文件的读写方式可分为顺序读写方式和随机读写方式。顺序读 写是指从文件头开始,依次读/写文件的内容;随机读写是指根 据需要从任意位置进行读/写文件的内容。
C语言程序设计
第11章 文件
本章主要内容:
11.1 11.2 11.3 文件概述 文件处理(重点) 文件程序设计举例(重点)
本章教学要求:
1. 了解文件的定义及分类 2. 熟悉文件的处理流程 3. 掌握常用的文件处理函数的使用方法及其程序设计 方法
第11章 文件
11.1 文件的基本概念
– 本节主要介绍文件的定义及分类、缓冲文件系统、文件的处理 过程、文件程序解决的问题。
第11章 文件
11.1 文件的基本概念
11.1.2 文件程序解决的问题
文件的特点:
• 存取方便容易,外存容量大。 • 数据可以重用。 • 数据共享几乎无限制。
第11章 文件
11.2 文件处理
11.2.1 缓冲文件系统
– 缓冲文件系统是指系统自动对每个正在使用的文件在内存中开 辟一个“缓冲区”,当从磁盘文件输入的数据时,先将文件中 的数据送到“输入缓冲区”中,然后再从“输入缓冲区”依次 将数据送给接收变量;在向磁盘文件输出数据时,先将输出数 据送到“输出缓冲区”中,等装满缓冲区后才一起输出给磁盘 文件,如图11-1所示。 – 缓冲文件系统既可以处理文本文件,也可以处理二进制文件。 – 缓冲文件系统为每个正在使用的文件开辟一个“文件信息区” , 用来存放文件的有关信息。“文件信息区”的这些信息保存在 一个结构体类型的变量中,该结构体类型命名为FILE,其定义 形式如下:typedef struct{ ......}FILE;
FILE *fp; fp=fopen(filename,mode);
第11章 文件
11.2 文件处理
11.2.3 文件处理采用的函数
2. 文件读取函数
读文件就是从文件往内存中读取数据。根据存储数据的形式不同可以采用 以下读取函数来实现文件的读取。
(1)fgetc函数
使用格式:
ch=fgetc(fp);来自11.1.1 文件的定义与分类
– 所谓“文件”是指存储在外部介质上的数据集合。
1.按文件内容划分
– 从存储内容上看,文件分为两大类:程序文件和数据文件。程 序文件中存储的是程序代码或计算机指令;数据文件中只包含 程序文件处理的数据,通常用来保存大量数据。
2.按存储方式划分
– 从存储方式上看,文件可分为文本文件和二进制文件。文本文 件以字符形式存储数据(即存放其ASCII码),又称为ASCII文 件;二进制文件是按数据在计算机内的存储形式(二进制代码) 存放数据的。
(1)直接处理形式。键盘→内存变量→显示器。把数据从键盘录入后进行处理, 处理结果送显示器显示。适用数据量小,数据不需要保存的情况。 (2)写文件处理形式。键盘→内存变量→文件指针→OS→外存(文件)。这样 可以把大量的或以后再用的数据保存下来。 (3)读文件处理形式。文件名→OS→文件指针→内存变量→显示器。这样可以 把存放在文件中的数据通过文件指针调入内存,处理后,输出到显示器上。 (4)修改文件处理形式。文件名→OS→文件指针→内存变量→文件指针→OS→ 文件名(或设备名)。这样可以把存放在文件中的数据调入内存,处理后,再写 入文件中。