- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第 12 章 文 件 12.1 文件的基本概念 12.2 文件的基本操作 12.2.1 文件的打开与关闭 12.2.2 文件的读写 12.2.3 文件的定位 12.3 程序举例 文件的基本概念 12.1 文件是指存储在外存储器上的数据的集合。 每个文件都有一个名字,称为文件名。 一般来说,不同的文件有不同的文件名,计算机操作系统 就是根据文件名对各种文件进行存取,并进行处理。 教学进程 12.1.1 文本文件与二进制文件 文本文件又称为ASCII文件。在这种文件中,每个字节存放一个字符 的ASCII码值。 存 储 形 式 二进制文件中的数据与该数据的二进制形式是一致的,其中一个字 节并不代表一个字符。 文件的基本概念 教学进程 12.1.2 缓冲文件系统 在C语言中,对文件的操作都是通过库函数来实现的。 缓冲文件系统 指系统自动地为正在被使用的文件在内存中开辟一个缓冲区。当需 要向外存储器中的文件输出数据时,必须先将数据送到为该文件开辟的 缓冲区中,当缓冲区满以后才一起送到外存储器中。当需要从外存储器 中的文件读入数据进行处理时,也首先一次从外存储器将一批数据读入 缓冲区(将缓冲区充满),然后再从缓冲区中将数据逐个读出进行处理。 由此可以看出,在缓冲文件系统中,对文件的输入输出是通过为该文件 开辟的缓冲区进行的,对文件中数据的处理也是在该缓冲区中进行的。 高级文件系统 非缓冲文件系统 低级文件系统 是指系统不自动为文件开辟缓冲区,而是由用户程序自己为文件设 定缓冲区。 文件类型指针 12.1.3 ●在C语言的缓冲文件系统中,用文件类型指针来标识文件。 教学进程 定义文件类型指针的一般形式为 FILE *指针变量名; 其中指针变量名用于指向一个文件,实际上是用于存放文 件缓冲区的首地址。 一般来说,对文件操作有以下三个方面: 1)打开文件。在计算机内存中开辟一个缓冲区,用于存放被打开文件 的有关信息。 2)文件处理。包括在缓冲区中读写数据以及定位等操作。 3)关闭文件。将缓冲区中的内容写回到外存(磁盘),并释放缓冲区。 系统将该结构体类型定义为FILE(注意:是英文大写字母),简称文件类型。 文件的基本操作 12.2 ● 文件的打开 教学进程 12.2.1 文件的打开与关闭 FILE *fp(或其他指针变量名); … fp=fopen(文件名,文件使用方式); fopen()函数 ●文件名 ●文件使用方式 以何种方式打开文件 均是字符串 主要功能是为需要打开的文件分配一个缓冲区,并返回该缓冲 区的首地址。 要打开的文件的名字 文件的打开 r 只读 为读打开一个文件。若指定的文件不存在,则返回 空指针值NULL。 w 只写 为写打开一个新文件。若指定的文件已存在,则其 中原有内容被删去;否则创建一个新文件。 a 追加写 向文件尾增加数据。若指定的文件不存在,则创建 一个新文件。 r+ 读写 为读写打开一个文件。若指定的文件不存在,则返 回空指针值NULL。 w+ 读写 为读写打开一个新文件。若指定的文件已存在,则 其中内容被删去;否则创建一个新文件。 a+ 读与追加写 为读与向文件尾增加数据打开一个文件。 若指定的文件不存在,则创建一个新文件。 如果在后面附加“b”,则表示打开的是二进制文件,否则默认 为打开的是文本文件。 教学进程 文件的打开 教学进程 在打开一个文件时有时会出错。 在一般的C程序中,常采用以下方式来打开文件: FILE *fp; … if ((fp=fopen(文件名,文件使用方式))==NULL) { printf(cannot open this file !\n); exit(0); /*终止调用过程*/ } 在以上述方式打开文件时,如果出现“打开”错误, fopen()函数返回空指针值,
文档评论(0)