C语言项目开发教程PPT 第7章

C语言项目开发教程PPT 第7章

ID:36803422

大小:593.50 KB

页数:74页

时间:2019-05-10

C语言项目开发教程PPT 第7章_第1页
C语言项目开发教程PPT 第7章_第2页
C语言项目开发教程PPT 第7章_第3页
C语言项目开发教程PPT 第7章_第4页
C语言项目开发教程PPT 第7章_第5页
资源描述:

《C语言项目开发教程PPT 第7章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章文件在前面章节中,所有的输入和输出都只涉及键盘和显示器,程序中的数据和运行结果无法长期保存,每次运行程序时都要重新输入数据,这样显然很不方便,也无法满足程序长期运行的需求。实际上,很多程序都要求能够保存程序运行结果或数据,这就要用到文件和文件操作。文件是一种信息存储的方式,它是指一组已经命名的、存储在外部存储器上的、具有相同性质的信息的集合,其内容可以是各种类型的数据,也可以是程序等。文件是程序设计中一个非常重要的概念,任何一个计算机语言都应具有很强的文件操作能力。文件也是一种数据类型,对文件的操作有

2、打开、关闭、读和写文件等。通过文件的使用,可以方便地存储程序的运行结果。编玩编说任务7.1用户登录任务目标所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上在前面的各章中已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件(头文件)等。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件做不同的分类。存放文件的外部介质有磁带、磁盘、光盘等外部存储器。数据包括:数字、文字、图形、图像、声音、视频等。在本章所讲的文件是由数字和文字组成的

3、数据文件。C语言把文件看作是一个字符(字节)的序列,即由一个一个的字符或字节的数据顺序组成。换句话说,C语言是把每一个文件都看作是一个有序的字节流。2.缓冲文件系统在C语言中,根据操作系统对文件的处理方式的不同,把文件系统分为缓冲文件系统和非缓冲文件系统。ANSIC标准采用缓冲文件系统。缓冲文件系统(又称标准I/O)是指操作系统在内存中为每一个正在使用的文件开辟一个读/写缓冲区。从内存向磁盘输出数据时,必须先送到内存缓冲区,装满缓冲区后才一起送到磁盘去。如果向内存读入数据,则一次从磁盘文件将一批数据输入到内

4、存缓冲区,然后再从内存缓冲区逐个地将数据送到程序数据区(变量),如图7-1所示。图7-1标准输入/输出采用缓冲文件系统的优点为:原来每读写一个数据就要进行一次I/O操作,现在合并为多次读/写仅进行一次I/O操作,减少了I/O操作的次数,从而提高了程序的执行效率。采用缓冲文件系统也存在一些缺点:由于多次读/写合并成一次I/O操作,要数据进入缓冲区后,如果此时程序非正常终止,则缓冲区的数据还未来得及写入到磁盘中,会导致缓冲区内的数据丢失。非缓冲文件系统(又称系统I/O)是指系统不自动开辟确定大小的内存缓冲区,而

5、由程序自己为每个文件设定缓冲区。程序的每次I/O都会直接访问磁盘,在读/写特别频繁时效率不高,但是在读/写不频繁的情况下,非缓冲文件系统的执行效率比缓冲文件系统要高,并且不需要开辟内存缓冲区。3.文件的分类从用户的角度看,文件可分为普通文件和设备文件两种。普通文件是指驻留在磁盘或其他外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序;也可以是一组待输入处理的原始数据,或者是一组输出的结果。对于源文件、目标文件、可执行程序可以称作程序文件,对输入/输出数据可称作数据文件。设备文件是指与主机相联的各

6、种外部设备,如显示器、打印机、键盘等。在操作系统中,把外部设备看作是一个文件来进行管理,把它们的输入、输出等同于对磁盘文件的读和写。通常把显示器定义为标准输出文件,一般情况下在屏幕上显示有关信息就是向标准输出文件输出。如前面经常使用的printf、putchar函数就是这类输出。键盘通常被指定标准的输入文件,从键盘上输入就意味着从标准输入文件上输入数据。Scanf、getchar函数就属于这类输入。从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII文件(也称文本文件):ASCII

7、文件在磁盘中存放时,每个字符对应一个字节,用于存放对应的ASCII码。如:整型十进制数12345,按ASCII文件存放则需要占用5个字节。可在屏幕上显示,但占用空间较大,读/写操作要转换。二进制文件:是对不同的数据类型,按其实际占用内存字节数存放。即内存的存储形式,原样输出到磁盘上存放。如:整型十进制数12345,按二进制文件存放只需要两个字节。屏幕显示为乱码,但占用空间小,读/写操作效率高。文件的存储形式如图7-2所示。7.1.2文件的代开和关闭1.文件类型指针在缓冲文件系统中,文件指针是贯穿于I/O系统

8、的主线。简单地说,文件指针是文件读/写的位置标记,要正确地读/写文件就必须要知道文件的各种信息,如要读文件中的内容,就必须要知道文件的存储位置等。因此每一个打开正在使用的文件都需要在内存中开辟一段缓冲区,这段缓冲区用来存放文件的相关信息,包括文件名、文件的状态以及文件在内存中的位置等信息。这些信息在C语言中是以结构体的形式存储的,系统为文件信息统一定义一个结构体类型FILE,然后对每个文件定义一个结构体类型的变量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。