- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 磁盘文件操作(I/O系统) 13.1 文件概述 13.2 打开文件和关闭文件 13.3 文件的读和写 13.4 文件的定位与文件的随机存取 本章介绍ANSI文件I/O系统。包括文件的概念,文件的打开和关闭,数据的读写等。 13.1 文 件 概 述 13.1.1 C语言文件的概念 文件(file)是存储在外部介质(如磁盘,磁带)上的,以惟一的名字作为标记的数据集合。操作系统是以文件为单位对数据进行管理的。与主机相连的输入输出设备,其作用也是从设备上读取数据和将数据写到设备上,所以,也把输入输出设备看作是文件。 由于文件是受操作系统管理的,应用程序使用某一文件时,它需要向操作系统提出建立与文件的联系;使用结束时,通知操作系统切断与文件的联系。这是两个过程,前者称为打开文件,后者称为关闭文件。 13.1.2 二进制文件和文本文件 文件数据的存储,一般有两种形式。一种是以ASCII码的形式,按字节存储的。这样的文件叫做文本文件(text file),又叫ASCII码文件。另一种是以在内存中的二进制数形式存储的文件,称为二进制文件。 13.1.3 顺序文件随机文件 按照文件内数据处理方式的不同,文件又分为顺序文件随机文件。 13.1.4 缓冲文件系统和非缓冲文件系统 系统按对文件的支持方式的不同,分为缓冲文件系统和非缓冲文件系统。 所谓缓冲文件系统(buffered file system) 是指在进行I/O操作时,系统自动为每个打开的文件开辟一个内存缓冲区。数据的输入和输出都是通过缓冲区去进行。 所谓非缓冲文件系统(unbuffered file system)是指系统不自动开辟内存缓冲区,而是由程序自己为每个文件设定缓冲区。 13.1.5 文件型指针 在ANSI文件I/O系统中,每个被使用的文件,都在内存开辟一个区,用于存放与文件的相关信息,如文件号(文件在操作系统中被管理的代号),文件的读写状态,文件缓冲区的地址、以及当前的读写缓冲区数据的位置等。这些信息存放在一个结构型变量中。这个结构类型是系统定义的,并通过typedef将该结构型起名为FILE。FILE结构型定义在stdio.h文件中。 程序要使用文件,首先必须定义一个FILE型结构的指针变量。这种指向FILE结构型的指针称为文件指针。通过这个指针可以实现对文件的操作。文件指针变量定义的一般形式为: ? FILE *文件指针名; 13.2 打开文件和关闭文件 文件操作的总流程是:打开文件→操作文件→关闭文件。 打开文件,就是系统为文件建立缓冲区,并将文件和缓冲的信息写入FILE型结构中。使得能够通过缓冲区进行文件的输入和输出操作。 文件使用完后,系统将缓冲区中的数据做相应的处理(如将数据写入文件等),然后,释放缓冲区。这个过程叫做关闭文件。 文件关闭的结果,使应用程序不能再对该文件进行输入输出等操作。 13.2.1 打开文件函数 打开文件函数fopen()的格式为: ? FILE *fopen(char *filename, char *mode) 13.2.2 关闭文件函数 关闭文件函数fclose()的格式是: ? int fclose(FILE *fp) ? 例13.2.1 打开文件和关闭文件函数的使用。 下面的程序将二进制文件“mydata.dat”以写方式打开,然后关闭该文件。 #includestdio.h main() { FILE *fp; /* 定义文件型指针 */ ? if((fp=fopen(mydata.dat,wb))==NULL) /* 判断文件是否正确打开 */ { printf(file cant open!\n); exit(1); } ? fclose(fp); /* 关闭打开的文件 */ } 在程序中调用了系统函数exit()。该函数的功能是使程序立即终止运行。在退出执行之前,关闭所有文件并将缓冲区中的数据输出(写)到文件。 此函数也定义在头文件stdio.h中。 13.2.3 标准设备文件 系统规定,标准输入设
您可能关注的文档
最近下载
- 智慧城市云计算大数据中心项目深化设计方案(403页word).docx VIP
- 全国高中青年数学教师优质课大赛一等奖《基本不等式》教学设计.doc VIP
- 中华民族共同体概论第一讲 中华民族共同体基础理论part1.pptx VIP
- 儿童绘本改编与创作教案.pdf VIP
- JGJ-T291-2012:现浇塑性混凝土防渗芯墙施工技术规程.pdf VIP
- 实施指南《GB_T18944.2-2022柔性多孔聚合物材料海绵和发泡橡胶制品规范第2部分:模制品与挤出制品》实施指南.docx VIP
- 2022新能源风电场接入集控中心技术方案.doc VIP
- 白头翁的故事培智.ppt VIP
- 应聘人员登记表单.docx VIP
- 5S_培训教材.ppt VIP
文档评论(0)