资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
*1考试:6月14日下午13:30-15:30 地点:J3-310,J3-3122C C语言程序设计语言程序设计第第1 10 0章章 对文件的输入输出对文件的输入输出北京航空航天大学北京航空航天大学交通科学与工程学院交通科学与工程学院 徐国艳徐国艳*3第第1 10 0章章 文件文件1 10 0.1 .1 文件的概念文件的概念 1 10 0.2 .2 文本文件的读写文本文件的读写 1 10 0.3 .3 二进制文件的读写二进制文件的读写*4l l文件文件:存储在:存储在外部存储介质外部存储介质上相关上相关数据数据的集合。的集合。例如:程序文件中保存着程序,数据文件中保存着数据例如:程序文件中保存着程序,数据文件中保存着数据 。程序文件程序文件:文件的内容是程序代码文件的内容是程序代码; * *. .C CPPPP C C语言的源程序语言的源程序文本文件文本文件 * *. .OBJOBJ 目标文件目标文件二进制文件二进制文件 * *. .EXEEXE 可执行文件可执行文件二进制文件二进制文件 数据文件:数据文件:是供程序运行时读写的数据,如在程序运是供程序运行时读写的数据,如在程序运 行过程中输出到磁盘行过程中输出到磁盘( (或其他外部设备或其他外部设备) )的数据,或在程的数据,或在程 序运行过程中供读入的数据。如一批学生的成绩数据,序运行过程中供读入的数据。如一批学生的成绩数据, 或货物交易的数据等。或货物交易的数据等。1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针1. 1. 什么是文件什么是文件 l l在以前各章中所处理的数据的输入和输出在以前各章中所处理的数据的输入和输出,从终端的从终端的 键盘输入数据,运行结果输出到终端显示器上键盘输入数据,运行结果输出到终端显示器上;l l常常需要将一些数据输出到磁盘上保存起来,以后常常需要将一些数据输出到磁盘上保存起来,以后使使 用,用,这就要用到磁盘文件这就要用到磁盘文件。l l操作系统把各种设备都统一作为文件处理操作系统把各种设备都统一作为文件处理l l从操作系统的角度看,每一个与主机相联的输入输出从操作系统的角度看,每一个与主机相联的输入输出 设备都看作是文件。例如,设备都看作是文件。例如, 终端键盘是输入文件终端键盘是输入文件 显示屏和打印机是输出文件显示屏和打印机是输出文件1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针1. 1. 什么是文件什么是文件 l l输入输出是数据传送的过程,数据如流水输入输出是数据传送的过程,数据如流水 一样从一处流向另一处,因此常将输入输一样从一处流向另一处,因此常将输入输 出形象地称为流出形象地称为流(stream)(stream),即数据流。流,即数据流。流 表示了信息从源到目的端的流动。表示了信息从源到目的端的流动。l l语言把文件看作是一个字符语言把文件看作是一个字符(或字节)(或字节) 的序列。一个输入输出流就是一个字符流的序列。一个输入输出流就是一个字符流 或字节或字节( (内容为二进制数据内容为二进制数据) )流。流。1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针1. 1. 什么是文件什么是文件 l l文件要有一个唯一的文件标识,以便用户文件要有一个唯一的文件标识,以便用户 识别和引用。识别和引用。l l文件标识包括三部分:文件标识包括三部分: (1)(1)文件路径文件路径 (2)(2)文件名主干文件名主干 (3)(3)文件后缀文件后缀1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针2 2. . 文件名文件名 l l文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位 置。如:置。如:D: CCtempfile1.dat D: CCtempfile1.dat 表示表示file1.datfile1.dat文件存放在文件存放在D D盘中的盘中的CCCC目目 录下的录下的temptemp子目录下面子目录下面文件路径文件名主干文件后缀1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针2 2. . 文件名文件名 l l文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位 置。如:置。如:D: CCtempfile1.dat D: CCtempfile1.dat 表示表示file1.datfile1.dat文件存放在文件存放在D D盘中的盘中的CCCC目目 录下的录下的temptemp子目录下面子目录下面文件名1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针2 2. . 文件名文件名 l l文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位 置。如:置。如:D: CCtempfile1.dat D: CCtempfile1.dat 表示表示file1.datfile1.dat文件存放在文件存放在D D盘中的盘中的CCCC目目 录下的录下的temptemp子目录下面子目录下面命名规则遵循标 识符的命名规则1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针2 2. . 文件名文件名 l l文件路径表示文件在外部存储设备中的位文件路径表示文件在外部存储设备中的位 置。如:置。如:D: CCtempfile1.dat D: CCtempfile1.dat 表示表示file1.datfile1.dat文件存放在文件存放在D D盘中的盘中的CCCC目目 录下的录下的temptemp子目录下面子目录下面一般不超过3个字母(doc、txt、 dat、c、cpp、obj、exe、ppt、 bmp等)1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针2 2. . 文件名文件名 *12l l数据文件存储数据的形式数据文件存储数据的形式 ASCIIASCII文件(或称文件(或称文本文件文本文件)ASCIIASCII码文件中码文件中每个字节每个字节存放一个存放一个ASCIIASCII代码,代表代码,代表 一个字符,此种存储形式便于输出显示,在一个字符,此种存储形式便于输出显示,在DOSDOS操作系统操作系统 下可以直接阅读。下可以直接阅读。 二进制文件二进制文件二进制文件二进制文件中的中的数据数据是按照在内存中的是按照在内存中的二进制二进制存储格存储格 式式存放的,此种存储形式节省存储单元。存放的,此种存储形式节省存储单元。二进制文件二进制文件在在 DOSDOS操作系统下不能直接阅读。操作系统下不能直接阅读。1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针3 3. . 数据文件数据文件的种类的种类 *131 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针l l字符一律以字符一律以ASCIIASCII形式存储形式存储l l数值型数据既可以用数值型数据既可以用ASCIIASCII形式存储,也可以形式存储,也可以 用二进制形式存储用二进制形式存储。 如有整数如有整数1000010000,如果用,如果用ASCIIASCII码形式输出到码形式输出到 磁盘,则在磁盘中占个字节磁盘,则在磁盘中占个字节( (每一个字符占每一个字符占 一个字节一个字节) ),而用二进制形式输出,则在磁盘,而用二进制形式输出,则在磁盘 上只占上只占4 4个字节个字节( (用用VC+ VC+ 时时) )3 3. . 数据文件数据文件的种类的种类 *14例如将整数例如将整数1 100000000分别存储在这两种数据文件中分别存储在这两种数据文件中 。1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针0011000100110000001100000011000000110000(1)(0)(0)(0)(0)ASCII形式00000000000000000010011100010000二进制形式(10000)3 3. . 数据文件数据文件的种类的种类 4. 4. 文件缓冲区文件缓冲区l lANSI CANSI C标准采用标准采用“ “缓冲文件系统缓冲文件系统” ”处理数处理数 据文件据文件. .1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针程序数据区输出文件缓冲区输入文件缓冲区l缓冲文件系统 :指系统自动指系统自动 地在内存区为地在内存区为 程序中每一个程序中每一个 正在使用的文正在使用的文 件开辟一个文件开辟一个文 件缓冲区件缓冲区。程序数据区输出文件缓冲区输入文件缓冲区磁盘 从内存向磁盘输出数据装满缓冲区3. 3. 文件缓冲区文件缓冲区1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针程序数据区输出文件缓冲区输入文件缓冲区磁盘 从磁盘向计算机读入数据充满缓冲区4. 4. 文件缓冲区文件缓冲区1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针l l缓冲文件系统中,关键的概念是缓冲文件系统中,关键的概念是“ “文件类文件类 型指针型指针” ”,简称,简称“ “文件指针文件指针” ” 每个被使用的文件都在内存中开辟一个每个被使用的文件都在内存中开辟一个 相应的文件信息区,用来存放文件的有相应的文件信息区,用来存放文件的有 关信息(如文件的名字、文件状态及文关信息(如文件的名字、文件状态及文 件当前位置等)件当前位置等) 这些信息是保存在一个结构体变量中的这些信息是保存在一个结构体变量中的 。该结构体类型是由系统声明的,取名。该结构体类型是由系统声明的,取名 为为FILEFILE5.5.文件类型指针文件类型指针1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针l l声明声明FILEFILE结构体类型的信息包含在头文件结构体类型的信息包含在头文件 “ “stdio.hstdio.h” ”中中l l一般一般设置一个指向设置一个指向FILEFILE类型变量的指针变类型变量的指针变 量,然后通过它来引用这些量,然后通过它来引用这些FILEFILE类型变量类型变量5.5.文件类型指针文件类型指针1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针FILEFILE *fp1,*fp2,*fp3;*fp1,*fp2,*fp3;文件f1的 文件信息区fp1文件f2的 文件信息区fp2文件f3的 文件信息区fp35.5.文件类型指针文件类型指针1 10 0.1 .1 文件的概述文件的概述1 10 0.1.1 .1.1 文件和文件指针文件和文件指针*2113.1 13.1 文件的概述文件的概述13.1.2 13.1.2 文件的打开与关闭文件的打开与关闭l l操作文件的一般步骤操作文件的一般步骤打开文件打开文件 读写文件读写文件 关闭文件关闭文件 打开文件打开文件:建立建立用户程序与文件的用户程序与文件的联系联系,为文件,为文件分分配配一个文件缓冲区。一个文件缓冲区。读写文件读写文件:是指对文件的:是指对文件的读读、写写、追加追加和和
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号