- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 文件操作11.1 文件概述11.2 文件的打开与文件11.3 文件的顺序读写操作11.4 文件的随机读写操作11.5 文件操作时的出错检测11.6 文件应用举例本章小结 11.1 文 件 概 述11.1.1 文件的概念文件(File)是存储在外部介质上一组相关信息的集合。数据文件是数据的集合。每个文件都有一个名字,称为文件名。一批数据是以文件的形式存放在外部介质(如磁盘)上的,而操作系统以文件为单位对数据进行管理。在程序运行时,常常需要将一些数据(运行的中间数据或最终结果)输出到磁盘上存放起来,以后需要时再从磁盘中读入到计算机内存,这就要用到磁盘文件。磁盘既可作为输入设备,也可作为输出设备,因此,有磁盘输入文件和磁盘输出文件。除磁盘文件外,操作系统把每一个与主机相联的输入/输出设备都当作文件来管理,称为标准输入/输出文件。例如,键盘是标准输入文件,显示器和打印机是标准输出文件。 C语言把文件看作一个字节序列,即由一连串的字节组成,称为流(Stream),以字节为单位访问,输入/输出数据流的开始和结束仅受程序控制而不受物理符号(如回车换行符)控制,把这种文件称为流式文件。换句话说,C语言中的文件并不是由记录(Record)组成的。根据文件数据的组织形式,C语言的文件可分为ASCII文件和二进制文件。在ASCII文件中,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出字符。但一般占用存储空间较多,而且要花费时间转换(二进制形式与ASCII码间的转换)。用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存以后又需要读入到内存的,常用二进制文件保存。 11.1.2 C语言的文件系统从C语言对文件的处理方法来看,可以将文件分为两类:缓冲文件系统和非缓冲文件系统。缓冲文件系统,称为标准文件系统。缓冲文件系统的特点是:系统自动地在内存中为每一个正在读写的文件开辟一个缓冲区,利用缓冲区完成文件读写操作。将数据写入文件或从文件中读出数据的过程如图11-1所示。 图11-1 文件的读写过程 非缓冲文件系统不由系统自动设置缓冲区,而由用户自己根据需要设置。一般把缓冲文件系统的输入/输出称为标准输入/输出(标准I/O),非缓冲文件系统的输入/输出称为系统输入/输出(系统I/O)。在C语言中,没有输入/输出语句,对文件的读写都是用库函数来实现的。ANSI规定了标准输入/输出函数,用它们对文件进行读写。本章主要介绍ANSI C的文件系统及其读写方法。 11.1.3 文件类型指针在缓冲文件系统中,涉及到的关键概念是文件类型指针。对于每个正在使用的文件都要说明一个FILE类型的结构体变量,该结构体变量用于存放文件的有关信息。在C语言中,无论是一般磁盘文件还是设备文件,都要通过文件结构的数据集合进行输入/输出处理。在缓冲文件系统中,每个被使用的文件都在内存中开辟一个区域,用来存放文件的有关信息。这些信息保存在一个结构体类型的变量中。该结构体类型是在stdio.h头文件中由系统定义的,取名为FILE。 不同的编译系统可能使用不同的定义,但基本含义不会有太大变化,因为它最终都要通过操作系统去控制这些文件。用户不必关心FILE结构体的细节,只要知道对于每一个要操作的文件,系统都为它开辟一个如上的结构体变量。有几个文件就开辟几个这样的结构体变量,分别用来存放各个文件的有关信息。这些结构体变量不用变量名来标识,而通过指向结构体类型的指针变量去访问,这就是文件类型指针。在C程序中,凡是要对已打开的文件进行操作,都要通过指向该文件的FILE结构体的指针。为此,需要在程序中定义指向FILE结构体的指针变量。文件类型指针变量定义的格式为:FILE *文件类型指针变量名;其中,FILE是文件结构体的类型名,标识结构体类型。文件类型指针是指向FILE结构体的指针。 需要注意的是,C语言中标准设备文件是由系统控制的,它们由系统自动打开和关闭,标准设备文件的文件结构的指针由系统命名,用户在程序中可以直接使用,无需再进行说明。C语言中提供了3个常用标准设备文件的指针,标准输入文件(键盘)的文件类型指针是stdin,标准输出文件(显示器)的文件类型指针是stdout,标准错误输出文件(显示器)的文件类型指针是stderr。 11.2 文件的打开与文件11.2.1 打开文件打开文件需调用fopen函数。它的一般调用格式为:FILE *fp;fp=fopen(文件说明符,操作方式);其中,文件说明符指定打开的文件名,可以包含盘符、路径和文件名,它是一个字符串。注意,文件路径中的“\”要写成“\\”,例如
您可能关注的文档
- CorelDRAW X4平面设计实例教程 第6章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第7章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第8章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第9章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第10章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第11章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第12章教程 新.ppt
- CorelDRAW X4平面设计实例教程 第13章教程 新.ppt
- CorelDRAW X4平面设计实例教程 苏 颖 第1章教程 新.ppt
- CorelDRAW X4平面设计实例教程 苏 颖 第3章教程 新.ppt
最近下载
- 朝花夕拾名著导读练习及答案.pdf VIP
- 乳腺癌根治手术配合.pptx VIP
- Unit 6 Numbers in life Part A Let's talk Count and say 课件人教版英语三年级下册2025.pptx
- chapter 2 中国哲学及宗教.ppt VIP
- 初级统计师资格考试(统计专业知识和实务)模拟题库及答案(运城2025年).docx VIP
- 危急值报告制度及流程Ppt.ppt VIP
- 初中数学与体育融合的跨学科主题教学策略分析教学研究课题报告.docx
- 京瓷 TASKalfa 2554ci 3554ci 彩色复印机中文维修手册.pdf VIP
- 最新人教版九年级数学上册-全册课件全集(1215张).pptx VIP
- 海尔WGG 冰箱售后服务手册型号: BCD-430WACS.PDF
文档评论(0)