欢迎来到天天文库
浏览记录
ID:50350918
大小:1.49 MB
页数:108页
时间:2020-03-08
《C语言程序设计 教学课件 作者 姚海军 全书第8章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、8.1文本文件的访问8.2二进制文件的访问8.3随机文件的访问8.1.1问题的提出在调试程序时,经常会遇到这样的问题:如果程序不能一次调试通过,则需要不断输入一组相同的数据来调试程序。例如,我们在调试歌手比赛评分程序时,要对10个歌手的成绩进行排序。但当程序有逻辑错误时,需要一次又一次地将歌手成绩输入,这给调试工作增加了许多麻烦。C语言提供的文件操作就可以帮助我们解决这个问题。一次性将歌手比赛的数据存储在一个文件中,调试程序时从该文件中读取数据到内存中。8.1文本文件的访问现在要解决的首要问题是将歌手的成绩编辑到一个文本文件中,然后用C语言编写一个程序
2、将这些数据从文件中读出并显示在屏幕上。首先,要使用像“记事本”这样的文本编辑器编辑数据。图8-1所示为使用Windows的记事本编辑的10个歌手比赛的成绩,将其存储在文件“data.txt”中。图8-1Windows的记事本窗口【例8-1】编写程序,从文件data.txt中读取10个歌手的比赛成绩,并在屏幕上显示。 程序清单如下://---------------------------文件的示例程序----------------------------//--------------------------文件名ex8_1.c--------
3、----------------------#include"stdio.h"#include"process.h"voidmain(){图8-2例8-1的输出结果例8-1程序中强调的定义文件指针、打开文件、从文件中读取数据到变量i中和关闭文件是文件操作的要点,将在后面的各节中一一讲解。为了便于理解文件的操作,本例只将文件中的数据简单地显示出来,而未对其进行任何实质性处理(例如排序)。但实际上,文件处理有着广泛的用途。8.1.2文件的概念所谓“文件”,是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次
4、使用了文件,例如源程序文件、目标文件、可执行文件、库文件(头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。在C语言中,文件是字符(字节)的序列,称字节流,或称二进制流。根据数据的组织形式,C语言文件可分为ASCII文件(又称文本文件,或称正文文件)和二进制文件,这两种文件都是常用的文件。1. ASCII文件ASCII文件又称为文本(text)文件,其特点是数据在外部介质中一个字节存放一个ASCII码字符。ASCII文件最大的优点就是容易看懂,直接使用文字编辑软件就可以编辑(包括显示)文件的
5、内容;另一个优点就是容易移植(ASCII字符集的标准是统一的)。上一小节中我们通过Windows的记事本建立的“data.txt”文件就属于ASCII文件。2.二进制文件二进制文件把内存中的数据按其在内存中的存储形式原样输出到外部介质上存放。二进制文件的优点是占用空间少,在文件和内存之间进行数据传送时不必转换。 例:如果要存放整数12345,我们知道整数在内存中是占两个字节的,12345作为文本文件和作为二进制文件在内存中存放有较大的区别。从上面可以清楚地看到,以ASCII形式存放需占用5个字节,以二进制形式只占2个字节。二进制文件的存储形式与数据
6、在内存中的存储形式相同,读写是位复制,不需要转换,传输效率高,节省外存空间。ASCII文件是以字符形式存储的,读写需要转换,传输效率低,占用外存空间较大。C语言对文件的存取单位都是字节,所以也将这种文件称为“流式文件”。 从键盘输入的数据存放在内存中,显示器可以将内存中的数据显示输出。文件保存在外部介质中,“读”文件操作就是将磁盘文件(即文件中的数据)输入到内存中,“写”文件操作就是将内存中的数据输出到外部介质中。C语言提供了若干用于可进行读或写操作的函数。3.普通文件和设备文件从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻
7、留在磁盘或其他外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序,也可以是一组待输入处理的原始数据,或者是一组输出的结果。源文件、目标文件、可执行程序可以称做程序文件,输入、输出数据可称做数据文件。设备文件是指与主机相连的各种外部设备,如显示器、打印机、键盘等。在操作系统中,外部设备也被看做是一个文件,对它们的输入、输出等同于对磁盘文件的读和写;显示器定义为标准输出文件,在屏幕上显示有关信息就是向标准输出文件输出,如前面经常使用的printf、putchar函数就是这类输出;键盘通常被指定为标准的输入文件,从键盘上输入就意味着从标准输入文件
8、上输入数据,scanf、getchar函数就属于这类输入。8.1.3文件与指针在C语言中,对数
此文档下载收益归作者所有