文件的输入与输出.ppt
- 文档编号:1764415
- 上传时间:2022-10-23
- 格式:PPT
- 页数:98
- 大小:713.50KB
文件的输入与输出.ppt
《文件的输入与输出.ppt》由会员分享,可在线阅读,更多相关《文件的输入与输出.ppt(98页珍藏版)》请在冰豆网上搜索。
程序设计基础程序设计基础第第10章章对文件的文件的输入入输出出第第10章章对文件的输入输出对文件的输入输出10.1文件的有关基本知文件的有关基本知识10.2打开与关打开与关闭文件文件10.3顺序序读写数据文件写数据文件10.4随机随机读写数据文件写数据文件10.5文件文件读写的出写的出错检测10.1文件的有关基本知识文件的有关基本知识10.1.1什么是文件什么是文件10.1.2文件名文件名10.1.3文件的分类文件的分类10.1.4文件缓冲区文件缓冲区10.1.5文件类型指针文件类型指针10.1.1什么是文件什么是文件文件有不同的类型,在程序设计中,主要文件有不同的类型,在程序设计中,主要用到两种文件:
用到两种文件:
(1)程序文件程序文件。
包括。
包括源程序文件源程序文件(后缀为后缀为.c)、目标文件目标文件(后缀为后缀为.obj)、可执行文件可执行文件(后缀为后缀为.exe)等。
这种文件的内容是程序代码。
等。
这种文件的内容是程序代码。
10.1.1什么是文件什么是文件文件有不同的类型,在程序设计中,主要文件有不同的类型,在程序设计中,主要用到两种文件:
用到两种文件:
(2)数据文件数据文件。
文件的内容不是程序,而是供。
文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中程序运行时读写的数据,如在程序运行过程中输出到磁盘输出到磁盘(或其他外部设备或其他外部设备)的数据,或在程的数据,或在程序运行过程中供读入的数据。
如一批学生的成序运行过程中供读入的数据。
如一批学生的成绩数据,或货物交易的数据等。
绩数据,或货物交易的数据等。
本章主要讨论的是本章主要讨论的是数据文件数据文件10.1.1什么是文件什么是文件在以前各章中所处理的数据的输入和输出在以前各章中所处理的数据的输入和输出,从终端的键盘输入数据,运行结果输出到从终端的键盘输入数据,运行结果输出到终端显示器上终端显示器上常常需要将一些数据输出到磁盘上保存起常常需要将一些数据输出到磁盘上保存起来,以后来,以后使用使用这就要用到磁盘文件这就要用到磁盘文件10.1.1什么是文件什么是文件操作系统把各种设备都统一作为文件处理操作系统把各种设备都统一作为文件处理从操作系统的角度看,每一个与主机相联从操作系统的角度看,每一个与主机相联的输入输出设备都看作是文件。
例如,的输入输出设备都看作是文件。
例如,u终端键盘是输入文件终端键盘是输入文件u显示屏和打印机是输出文件显示屏和打印机是输出文件10.1.1什么是文件什么是文件“文件文件”指存储在外部介质上数据的集合指存储在外部介质上数据的集合u一批数据是以文件的形式存放在外部介质上的一批数据是以文件的形式存放在外部介质上的u操作系统是以文件为单位对数据进行管理操作系统是以文件为单位对数据进行管理u想找存放在外部介质上的数据,先按文件名找想找存放在外部介质上的数据,先按文件名找到所指定的文件,然后再从该文件读数据到所指定的文件,然后再从该文件读数据u要向外部介质上存储数据也必须先建立一个文要向外部介质上存储数据也必须先建立一个文件(以文件名作为标志),才能向它输出数据件(以文件名作为标志),才能向它输出数据10.1.1什么是文件什么是文件输入输出是数据传送的过程,数据如流水输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输一样从一处流向另一处,因此常将输入输出形象地称为流出形象地称为流(stream),即数据流。
,即数据流。
流表示了信息从源到目的端的流动。
流表示了信息从源到目的端的流动。
10.1.1什么是文件什么是文件输入操作时,数据从文件流向计算机内存输入操作时,数据从文件流向计算机内存输出操作时,数据从计算机流向文件输出操作时,数据从计算机流向文件无论是用无论是用Word打开或保存文件,还是打开或保存文件,还是C程程序中的输入输出都是通过操作系统进行的序中的输入输出都是通过操作系统进行的“流流”是一个传输通道,数据可以从运行是一个传输通道,数据可以从运行环境流入程序中,或从程序流至运行环境环境流入程序中,或从程序流至运行环境10.1.1什么是文件什么是文件从从C程序的观点来看,无论程序一次读写一程序的观点来看,无论程序一次读写一个字符,或一行文字,或一个指定的数据个字符,或一行文字,或一个指定的数据区,作为输入输出的各种文件或设备都是区,作为输入输出的各种文件或设备都是统一以统一以逻辑数据流逻辑数据流的方式出现的。
语言的方式出现的。
语言把文件看作是一个字符把文件看作是一个字符(或字节)(或字节)的序列。
的序列。
一个输入输出流就是一个字符流或字节一个输入输出流就是一个字符流或字节(内内容为二进制数据容为二进制数据)流。
流。
10.1.1什么是文件什么是文件的数据文件由一连串的字符(或字节)的数据文件由一连串的字符(或字节)组成,而不考虑行的界限,两行数据间不组成,而不考虑行的界限,两行数据间不会自动加分隔符,对文件的存取是以字符会自动加分隔符,对文件的存取是以字符(字节)为单位的。
输入输出数据流的开(字节)为单位的。
输入输出数据流的开始和结束仅受程序控制而不受物理符号始和结束仅受程序控制而不受物理符号(如回车换行符)控制,这就增加了处理(如回车换行符)控制,这就增加了处理的灵活性。
这种文件称为的灵活性。
这种文件称为流式文件流式文件。
10.1.2文件名文件名文件要有一个唯一的文件标识,以便用户文件要有一个唯一的文件标识,以便用户识别和引用。
识别和引用。
文件标识包括三部分:
文件标识包括三部分:
(1)文件路径文件路径
(2)文件名主干文件名主干(3)文件后缀文件后缀10.1.2文件名文件名文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位置。
如:
置。
如:
D:
CCtempfile1.datu表示表示file1.dat文件存放在文件存放在D盘中的盘中的CC目录下目录下的的temp子目录下面子目录下面文件路径文件路径文件名主干文件名主干文件后缀文件后缀10.1.2文件名文件名文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位置。
如:
置。
如:
D:
CCtempfile1.datu表示表示file1.dat文件存放在文件存放在D盘中的盘中的CC目录下目录下的的temp子目录下面子目录下面文件名文件名10.1.2文件名文件名文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位置。
如:
置。
如:
D:
CCtempfile1.datu表示表示file1.dat文件存放在文件存放在D盘中的盘中的CC目录下目录下的的temp子目录下面子目录下面命名规则遵循标命名规则遵循标识符的命名规则识符的命名规则10.1.2文件名文件名文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位置。
如:
置。
如:
D:
CCtempfile1.datu表示表示file1.dat文件存放在文件存放在D盘中的盘中的CC目录下目录下的的temp子目录下面子目录下面一般不超过一般不超过3个字母个字母(doc、txt、dat、c、cpp、obj、exe、ppt、bmp等)等)10.1.3文件的分类文件的分类根据数据的组织形式,数据文件可分为根据数据的组织形式,数据文件可分为ASCII文件文件和和二进制文件二进制文件。
u数据在内存中是以二进制形式存储的,如果不数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是加转换地输出到外存,就是二进制文件二进制文件u如果要求在外存上以如果要求在外存上以ASCII代码形式存储,代码形式存储,则需要在存储前进行转换则需要在存储前进行转换uASCII文件又称文本文件,每一个字节放一文件又称文本文件,每一个字节放一个字符的个字符的ASCII代码代码10.1.3文件的分类文件的分类字符一律以字符一律以ASCII形式存储形式存储数值型数据既可以用数值型数据既可以用ASCII形式存储,也形式存储,也可以用二进制形式存储可以用二进制形式存储u如有整数如有整数10000,如果用,如果用ASCII码形式输出码形式输出到磁盘,则在磁盘中占个字节到磁盘,则在磁盘中占个字节(每一个字符每一个字符占一个字节占一个字节),而用二进制形式输出,则在磁,而用二进制形式输出,则在磁盘上只占盘上只占4个字节个字节(用用VC+C时时)10.1.3文件的分类文件的分类0011000100110000001100000011000000110000
(1)(0)(0)(0)(0)ASCII形式形式00000000000000000010011100010000二进制形式二进制形式(10000)10.1.4文件缓冲区文件缓冲区ANSIC标准采用标准采用“缓冲文件系统缓冲文件系统”处理处理数据文件数据文件所谓所谓缓冲文件系统缓冲文件系统是指系统自动地在内存是指系统自动地在内存区为程序中每一个正在使用的文件开辟一区为程序中每一个正在使用的文件开辟一个文件缓冲区个文件缓冲区10.1.4文件缓冲区文件缓冲区从内存向磁盘输出数据必须先送到内存中从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘的缓冲区,装满缓冲区后才一起送到磁盘去去如果从磁盘向计算机读入数据,则一次从如果从磁盘向计算机读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区磁盘文件将一批数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(给程序变量)将数据送到程序数据区(给程序变量)10.1.4文件缓冲区文件缓冲区程序数据区程序数据区输出文件缓冲区输出文件缓冲区输入文件缓冲区输入文件缓冲区磁盘磁盘从内存向磁盘输出数据从内存向磁盘输出数据装满缓冲区装满缓冲区10.1.4文件缓冲区文件缓冲区程序数据区程序数据区输出文件缓冲区输出文件缓冲区输入文件缓冲区输入文件缓冲区磁盘磁盘从磁盘向计算机读入数据从磁盘向计算机读入数据充满缓冲区充满缓冲区10.1.5文件类型指针文件类型指针缓冲文件系统中,关键的概念是缓冲文件系统中,关键的概念是“文件类文件类型指针型指针”,简称,简称“文件指针文件指针”u每个被使用的文件都在内存中开辟一个相应的每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(如文文件信息区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)件的名字、文件状态及文件当前位置等)u这些信息是保存在一个结构体变量中的。
该结这些信息是保存在一个结构体变量中的。
该结构体类型是由系统声明的,取名为构体类型是由系统声明的,取名为FILE10.1.5文件类型指针文件类型指针声明声明FILE结构体类型的信息包含在头文件结构体类型的信息包含在头文件“stdio.h”中中一般一般设置一个指向设置一个指向FILE类型变量的指针变类型变量的指针变量,然后通过它来引用这些量,然后通过它来引用这些FILE类型变量类型变量10.1.5文件类型指针文件类型指针FILE*fp1,*fp2,*fp3;文件文件f1的的文件信息区文件信息区fp1文件文件f2的的文件信息区文件信息区fp2文件文件f3的的文件信息区文件信息区fp310.2打开与关闭文件打开与关闭文件10.2.1用用fopen函数打开数据文件函数打开数据文件10.2.2用用fclose函数关闭数据文件函数关闭数据文件10.2.1用用fopen函数打开数据文件函数打开数据文件对文件读写之前应该对文件读写之前应该“打开打开”该文件,在该文件,在使用结束之后应使用结束之后应“关闭关闭”该文件。
该文件。
所谓所谓“打开打开”是指为文件建立相应的信息是指为文件建立相应的信息区区(用来存放有关文件的信息用来存放有关文件的信息)和文件缓冲和文件缓冲区区(用来暂时存放输入输出的数据用来暂时存放输入输出的数据)。
10.2.1用用fopen函数打开数据文件函数打开数据文件在编写程序时,在打开文件的同时,一般在编写程序时,在打开文件的同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 输入 输出
![提示](https://static.bdocx.com/images/bang_tan.gif)