- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 9 章 文件 概 述 9.1 C语言的文件概念 文件是程序设计中的重要概念。一般来说,文件是逻辑上具有完整意义的信息的集合。例如,程序文件是程序代码的集合,数据文件是处理数据的集合。文件的物理存储位置是外部存储设备,例如硬盘、软盘、磁带、屏幕等。对文件的处理过程就是对文件的读写过程或输入输出过程。 第9章 文件 C语言本身没有为文件提供一种基本数据类型,而是提供了一种构造类型——FILE。这种类型是在标准输入输出库文件stdio.h中定义的,使用起来非常方便和有效。总体上说,C语言通过定义一套标准输入输出库函数,来完成对文件的操作。 本章介绍C文件的概念,文件指针及定义形式,文件打开、关闭方式,文件读写的含义及简单操作。更多的内容可参阅相关书籍。 1. 文件指针的定义。 2. 文件打开和关闭的方法。 3. 文件读写的简单操作。 考核内容 C语言对文件的处理是通过标准函数库中的输入输出函数来实现的。在C语言中,所有的外部设备均被视为文件对待,这种文件称为设备文件。在表示外部设备的设备文件中,有三个特殊文件,它们是由系统分配和控制的,称为标准设备文件,它们是: 1. 标准输入文件:系统分配为键盘。 2. 标准输出文件:系统分配为显示器。 3. 标准错误输出文件:系统分配为显示器。 9.1 C语言的文件概念 C语言把文件看作是字符(或字节)序列,即文件是由一个个字符(或字节)数据顺序组成。如果文件是由一个个字符数据组成,则称之为文本文件;如果是由一个个字节数据组成,则称之为二进制文件。所以C语言文件是一个个字符流或二进制流(这里的流可理解为序列之意),也就是说它是由一串字符(或字节)所组成,而不是由记录所组成。因此,C语言文件也叫流式文件。流式文件允许对一个字符(或字节)进行存取,这在很大程度上增加了对数据处理的灵活性。 9.1 C语言的文件概念 在C语言的过去版本中,有两种对文件的处理方法,一种叫“缓冲文件系统”,另一种叫“非缓冲文件系统”。“缓冲文件系统”是指系统为这类文件自动在内存区开辟一个确定大小的缓冲区,使输入输出都先通过缓冲区过渡,以提高效率。“非缓冲文件系统”是系统不自动开辟确定大小的缓冲区,而是由程序为每个文件设定一个缓冲区,但目前的ANSI C 不提倡使用“非缓冲文件系统”。 9.1 C语言的文件概念 9.2 C语言文件类型指针 文件类型指针是“缓冲文件系统”的一个重要概念,实际上是一个指向结构体类型的指针变量。C语言程序可同时处理多个文件,为了对每个文件进行有效的管理,就需要为其开辟一个“文件信息描述区”,以记录文件的当前状态(例如文件名、文件状态、当前存取的字符位置等)。该信息描述区是用一个结构体变量来表达的,该结构体变量的类型由系统定义,并取名为FILE。通常它被存放在 stdio.h头文件中。 对于每一个要操作的文件,都必须定义一个指针变量,并使它指向该文件的结构体变量,该指针叫文件类型指针,简称文件指针。一旦为某个文件定义了文件指针后,就可通过该文件指针找到被操作文件的描述信息,进而对其进行操作。定义文件类型指针的一般形式为: FILE *文件指针变量名 例如: FILE *fp1,*fp2; fp1和fp2被定义为指向文件类型的指针变量,即文件指针。 9.2 C语言文件类型指针 9.3 文件的打开与关闭 9.3.1 文件打开 在C语言中,打开文件用函数“fopen”。 “fopen”函数的调用方式通常为: FILE *fp; fp= fopen(“文件名”,“文件使用方式”); 例如有下列语句: FILE *fp1; fp1=fopen(“c:\file1.dat”,“r”); 该语句表示以只读方式打开C盘根目录上的文件“file1.dat”。 文件使用方式 含义 功能 “r” 只读 为读取打开一个文本文件 “w” 只写 为写入打开一个文本文件 “a” 追加 在文本文件尾追加数据 “rb” 只读 为读取打开一个二进制文件 “wb” 只写 为写入打开一个二进制文件 “ab” 追加 在二进制文件尾追加数据 “r+” 读写 为读写打开一个文本文件 “w+” 读写 为读写建立一个新的文本文件 “a+” 读写 为读写打开一个文本文件 “rb+” 读写 为读写打开一个二进制文件 “wb+” 读写 为读写建立一个新的二进制文件 “ab+” 读写 为读写打开一个二进制文件 下表是C语言文件的使用方式、含义及功能 9.3.1 文件打开 ?注意: 1.用“r
文档评论(0)