C程序设计实例教程 金林樵 第10章 文件新.pptVIP

C程序设计实例教程 金林樵 第10章 文件新.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10.1 文件概述 10.1.1 文件概念 所谓“文件”,是指存储在外部介质(如硬盘、光盘、U盘等)上的一组相关数据或信息的有序集合,它可以是源代码文件、目标文件、可执行程序;也可以是一组待处理的数据。对于源代码文件、目标文件、可执行程序等可以称作程序文件,对输入输出数据可称作数据文件。每个文件有一个名称,叫做文件名。在前面的各章中实际上已大量地使用了文件,例如源程序文件、目标文件、可执行文件、头文件等。操作系统是以文件为单位对数据进行管理的。 10.1.2 C语言中的文件 按文件的逻辑结构,文件通常分为以下两种形式: 1) 记录文件。由具有一定结构的记录组成(定长和不定长),数据间以明确的分隔符分隔,如每个记录以回车换行符结束。 2) 流式文件。由一个个字符(字节)数据流顺序组成,是一种无结构的文件。 在C语言中,把所有与输入输出有关的操作都统一到文件(实际上是流)的概念中。程序与外部的联系都通过文件来实现,操作系统把外部设备是作为一个标准文件来进行管理的,对它们的输入、输出等同于对磁盘文件的操作。 在C语言中引入了流(Stream)的概念。它将数据的输入输出看作是数据的流入和流出. C语言中使用“流”文件,输入输出数据时均按“数据流”的形式进行处理,整个文件是一个字符流或二进制流,由顺序存放的一个个字符(字节)组成。 10.1.2 C语言中的文件 从文件的组织方式来看,文件又可分为文本(ASCII)文件和二进制文件两种。 1) 文本文件,也称为ASCII文件。在磁盘中存放时文件中的每个字符对应1个字节,用于存放该字符对应的ASCII码,即每个字符占用1个字节。存取时没有记录或字段的概念,数据之间没有任何分隔,前后数据依序相连。因文本文件中存放的是各个字符的ASCII码,故这种文件是人工可读的。 2) 二进制文件。二进制文件是按其在内存中的二进制编码存储格式直接存放的,没有进行任何格式之间的转换。在标准C中,每个整型数占用2个字节,每个字符占用1个字节,每个单精度数占用4个字节等。 10.1.3 缓冲式输入输出 C语言以库函数的方式提供众多输入输出函数,可以分别用于两种类型的文件输入输出系统: 1) 由ANSI标准定义的缓冲文件系统(也称标准文件/流输入输出系统)。 2) ANSI标准中没有定义的非缓冲文件系统(也称非标准文件/流输入输出系统)。 本章只介绍ANSI标准定义的缓冲文件系统进行文件的输入输出。 缓冲文件系统的特点是:系统为每个正在使用的文件在内存中自动开辟一个“缓冲区”,当执行读文件的操作(即输入)时,从磁盘文件将数据先读入该内存“缓冲区”,装满后再从内存“缓冲区”依次送给接收的变量;执行写文件的操作(即输出)时,先将数据写入该内存“缓冲区”,待内存“缓冲区”装满后再写入文件。 缓冲文件系统输入输出 C语言本身没有提供用于输入输出的语句。为了统一标准,ANSI C把文件和输入输出功能作为标准库的一部分,以库函数的方式提供,从而提高了程序的可移植性。 10.2 文件的打开和关闭 对文件的任何操作都要先打开文件,再对文件进行定位与读写操作,操作完毕后,要关闭文件。 在缓冲文件系统中,要对文件进行输入/输出操作,需要提到一个非常重要的概念--文件指针。因为每个被使用的文件都需要在内存中开辟一个信息区,用来存放与文件相关的基本信息。这些信息在C语言中被保存在一个结构体类型取名为FILE的结构体变量中。 结构体类型FILE在stdio.h中定义,因此要在C程序中对文件进行操作,必须在源程序中的开始部分引用这个结构。 #include stdio.h /* 文件操作头文件 */ 10.2.1 文件指针 要在C程序中使用缓冲文件系统,必须定义一个指向FILE类型的文件指针变量,以后对该文件的所有输入/输出操作都必须通过该文件指针变量进行,直到关闭该文件。 在C语言中,定义文件指针的一般形式为: FILE *文件指针变量标识符1[,*文件指针变量标识符2,……]; 如: FILE *fp; C程序执行时,系统自动创建了5个下表所示的标准设备文件(即这些文件指针变量已自动打开)。 10.2.2 文件的打开(fopen函数) 打开文件,是指使定义的文件指针指向实际文件,建立与实际文件相关的各种信息,以便对文件进行其它操作。 在ANSI C中,文件的打开操作是通过fopen标准函数来实现的。其函数原型如下: FILE *fopen(const char *filename, const char *mode); fopen函数打开一个由filename参数指向的外部文件,若调用函数成功,则fopen函数返回与实际文件相连接的文件指针;否则返回NULLL。其中filename的实参是字符串,表示希望

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档