【经管类】文件的基本概念(1)

上传人:Jerm****014 文档编号:50346662 上传时间:2018-08-07 格式:PPT 页数:54 大小:1.26MB
返回 下载 相关 举报
【经管类】文件的基本概念(1)_第1页
第1页 / 共54页
【经管类】文件的基本概念(1)_第2页
第2页 / 共54页
【经管类】文件的基本概念(1)_第3页
第3页 / 共54页
【经管类】文件的基本概念(1)_第4页
第4页 / 共54页
【经管类】文件的基本概念(1)_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《【经管类】文件的基本概念(1)》由会员分享,可在线阅读,更多相关《【经管类】文件的基本概念(1)(54页珍藏版)》请在金锄头文库上搜索。

1、 第第六六章章 文件文件 文件的基本概念文件的基本概念 文件的基本函数文件的基本函数 文件的顺序读写文件的顺序读写 文件的随机读写文件的随机读写 文件简单应用文件简单应用本 章 要 点l文件的定义义 文件:存储储在外部介质质上(如磁盘盘等外存储储器)的数据或信息的 集合。 例如:程序文件中保存着程序,而数据文件中保存着数据。 C7.C:C语语言的源程序文本文件 C7.OBJ:目标标文件二进进制文件 C7.EXE:可执执行文件二进进制文件 l文件的性质质 文件是一个有序的数据序列。文件的所有数据之间间有着严严格的排 列次序的关系(类类似数组类组类 型的数据),要访问访问 文件中的数 据,必须须按

2、照它们们的排列顺顺序,依次进进行访问访问 。 6 6-1 -1 文件概述文件概述l系统对统对 文件的处处理过过程系统对统对 文件的处处理过过程就是对对文件进进行输输入/输输出操 作的过过程。 文件输输入/输输出的一般过过程: 6 6-1 -1 文件概述文件概述文件程序 数据区输输出文件缓缓冲区输输入文件缓缓冲区计计算机内存计计算机外存写文件称为输为输 出读读文件称为输为输 入文件的分类类 从文件数据的组织组织 形式看 数据的组织组织 形式是指数据在磁盘盘上是以什么格式进进行存储储的。 从这这个角度看,文件分为为两类类: 。ASCII文件(或称文本文件,即TEXT文件) 。二进进制文件 文本文件

3、中保存的数据,采用ASCII码码作为为存储储方式,先将 全部数据转换为转换为 ASCII码码形式。每个ASCII字符占用一个字节节。 ASCII文件在DOS操作系统统下可以直接阅读阅读 。 二进进制文件中保存的数据,是将数据在内存中二进进制存储储 格式不做任何转换转换 ,直接存入文件中。 二进进制文件在操作系统统下不能直接阅读阅读 。 6 6-1 -1 文件概述文件概述l两种文件组织组织 形式l 例如:将整数1024存储储在不同组织组织 形式的文件中 6 6-1 -1 文件概述文件概述l两个不同格式文件的比较较 在ASCII文件中,每个字符是以ASCII码码形式存储储,方便了 对对字符的逐个处

4、处理,同时时在操作系统统下,可以直接识别识别 。 缺点是占用磁盘盘存储储空间间多,并且系统统要付出由二进进制形 式向ASCII转换转换 的时间时间 开销销。 用二进进制形式输输出,可以节节省磁盘盘空间间和转换时间转换时间 ,但 输输出的数据因为为是内存的格式,在操作系统统下不能直接识别识别 。内存中的存储储形式:补码补码0000 0100 0000 0000ASCII文件:ASCII码码 1024二进进制文件:补码补码 0000 0100 0000 0000占用4个字节节占用2个字节节l文件的分类类 从用户观户观 点看 从用户户使用的观观点看,文件可分为为两类类: 。普通文件(亦称为为磁盘盘文

5、件) 。特殊文件(亦称为标为标 准设备设备 文件或标标准I/O文件) 普通文件是以磁盘为对盘为对 象且无其它特殊性能的文件。 特殊文件是以终终端为对为对 象的标标准的设备设备 文件。 在C语语言中,“文件”的概念具有更广泛的意义义,它把与每 台主机相连连的所有输输入输输出设备设备 都看作是一个文件。即把实实 际际的物理设备设备 抽象为逻辑为逻辑 文件,它们们也被称为设备为设备 文件。 例如:键盘键盘 是输输入文件stdin (标标准输输入文件) 显显示器是输输出文件stdout(标标准输输出文件)打印机是输输出文件PRN 6 6-1 -1 文件概述文件概述l文件指针针在缓缓冲文件系统统中,对对

6、每个正在使用的文件都要说说明并使用一个 FILE类类型的结结构变变量,该结该结 构变变量用于存放文件的有关信息 ,如文件名、文件状态态等。 在C语语言中,无论论是一般磁盘盘文件还还是设备设备 文件,都要通过过文件 结结构的数据集合进进行输输入输输出处处理。 文件结结构不需要用户户自己定义义,是由系统统事先已经经定义义好的, 固定包含在头头文件 stdio.h 中。 typedef struct int _fd; /* 文件位置指针针,即当前文件的读读写位置 */ int _cleft; /* 文件缓缓冲区中剩余的字节节数 */ int _mode; /* 文件操作模式 */ char * ne

7、xtc; /* 用于文件读读写的下一个字符位置 */ char * _buff; /* 文件缓缓冲区位置(指针针) */ FILE ; FILE是文件结结构类类型的类类型名。 6 6-2 -2 文件文件处处处处理理l文件指针针文件结结构在打开文件时时由操作系统统自动动建立,用户户使用文件时时 无需重复定义义。文件结结构中最重要的信息是:记录记录 了文件读读 写操作时时的位置指针针。 在C程序中,凡是要对对已打开的文件进进行操作,都要通过过指向该该 文件结结构的指针针。为为此,需要在程序中说说明指向文件结结构的 指针针,即定义义FILE型(文件型)的指针变针变 量。 l文件型指针变针变 量说说明

8、形式FILE * 文件型指针变针变 量名; 例如: FILE * fp; /* fp 是一指针变针变 量,指向文件结结构 */ 当要同时时使用多个文件时时,则则必须须有多个不同的文件指针针。 6 6-2 -2 文件文件处处处处理理- -文件指文件指针针针针l系统标统标 准设备设备 文件标标准设备设备 文件是由系统统控制,由系统统自动动打开和 关闭闭,标标准设备设备 文件的文件结结构的指针针由系统统命名 ,用户户在程序中可直接使用。 lC语语言中提供了三个标标准设备设备 文件的指针针: stdin 标标准输输入文件(键盘键盘 ) stdout 标标准输输出文件(显显示器) stderr 标标准错

9、误输错误输 出文件(显显示器) 6 6-2 -2 文件文件处处处处理理- -标标标标准准设备设备设备设备 文件文件l使用文件的一般步骤骤打开文件操作文件关闭闭文件 打开文件:建立用户户程序与文件的联联系,为为文件开辟文件缓缓冲区 。 操作文件:是指对对文件的读读、写、追加和定位操作。 读读操作:是从文件中读读出数据,即将文件中的数据读读入计计算机 ; 写操作:是向文件中写入数据,即向文件输输出数据。 追加操作:将数据写到原有数据的后面。 定位操作:文件读读写位置指针针。 关闭闭文件:切断文件与程序的联联系,将文件缓缓冲区的内容写入磁 盘盘,并释释放文件缓缓冲区。 6 6-2 -2 文件文件处处

10、处处理理- -操作文件的一般步操作文件的一般步骤骤骤骤C语语言通过过标标准I/O库库(stdio.h)函数实现实现 文件操作l打开文件(fopen) lfopen函数的调调用形式是: lFILE * fp; lfp = fopen ( 文件名, 文件使用方式); l文件名:需要打开的文件名称(字符串)。 l文件使用方式:是具有特定含义义的符号。 l函数功能l按指定的文件使用方式打开指定的文件。 l若文件打开成功,则则返回值为值为 非NULL指针针; l若文件打开失败败,返回NULL。 6 6-2 -2 文件文件处处处处理理- -fopenfopenl打开文件(fopen) fopen函数的调调

11、用形式是: FILE * fp; fp = fopen ( 文件名, 文件使用方式); 6 6-2 -2 文件文件处处处处理理- -fopenfopen的三种方式的三种方式l文本文件的三种基本打开方式 ”r”:只读读方式。为读为读 (输输入)文本文件打开文件。若文件不存 在,则则返回NULL。 ”w”:只写方式。为为写(输输出)文本文件打开文件。若文件不存 在,则则建立一个新文件;若文件已存在,则则要将原来的文件清 空。 ”a”:追加方式。在文本文件的末尾增加数据。若文件已存 在,则则保持原来文件的内容,将新的数据增加到原来数据的后 面;若文件不存在,则则返回NULL。l二进进制文件的三种基本

12、打开方式 ”rb”:只读读方式。 ”wb”:只写方式。 ”ab”:追加方式。 l文件的其他打开方式 ”r+”:可以文本文件进进行读读/写操作。 若文件不存在返回NULL;若文件存在内容不会被清空。 ”w+”:可以文本文件进进行读读/写操作。 若文件已经经存在,则则要先将文件原来的内容清空。 ”a+”:可以文本文件进进行读读/追加操作。文件内容不会清空。 ”rb+”:可以对对二进进制文件进进行读读/写操作。 ”wb+”:可以对对二进进制文件进进行读读/写操作。 ”ab+”:可以对对二进进制文件进进行读读/追加操作。 6 6-2 -2 文件文件处处处处理理- -fopenfopen的打开方式的打开

13、方式l文件打开方式小结结l 文件使用方式 含 义义 l l “r“ (只读读) 为输为输 入打开一个文本文件 l “w“ (只写) 为输为输 出打开一个文本文件 l “a“ (追加) 向文本文件尾增加数据 l “rb“ (只读读) 为输为输 入打开一个二进进制文件 l “wb“ (只写) 为输为输 出打开一个二进进制文件 l “ab“ (追加) 向二进进制文件尾增加数据 l “r+“ (读读写) 为读为读 /写打开一个文本文件 l “w+“ (读读写) 为读为读 /写建立一个新的文本文件 l “a+“ (读读写) 为读为读 /写打开一个文本文件 l “rb+“ (读读写) 为读为读 /写打开一

14、个二进进制文件 l “wb+“ (读读写) 为读为读 /写建立一个新的二进进制文件 l “ab+” (读读写) 为读为读 /写打开一个二进进制文件 6 6-2 -2 文件文件处处处处理理- -fopenfopenl常见见文件打开操作if ( ( fp = fopen (“filename“, “r“) ) = NULL ) printf (”Cannot open file.n”); exit (0); 含义义:以只读读方式打开文件名为为filename的文件。 由系统统打开的三个标标准文件,在程序中不需要再次打开, 可以直接使用它们们的文件指针进针进 行操作。 stdin 标标准输输入文件(

15、键盘键盘 ) stdout 标标准输输出文件(显显示器) stderr 标标准错误输错误输 出文件(显显示器) 6 6-2 -2 文件文件处处处处理理- -fopenfopenl关闭闭文件(fclose) fclose函数的调调用形式是: FILE * fp; fclose ( fp ); fp:已经经打开的文件指针针。 l函数功能 关闭闭fp指定的文件,切断缓缓冲区与该该文件的联联 系,并释释放文件指针针。 若文件关闭闭成功,则则返回值为值为 0; 若文件关闭闭失败败,返回非0值值。 6 6-2 -2 文件文件处处处处理理- -fclosefclosel文件顺顺序操作对对文件的操作(文件读读写)必须须按文件中字符的先后顺顺 序进进行,只能在操作了第i个字符之后,才能操作第i+1个字 符。 在对对文件操作时时,文件的位置指针针由系统统自动动向后(文 件尾方向)移动动。 l进进行顺顺序操作的函数字符输输入输输出函数 fgetc fput

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号