第10章 文件操作 1207.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件操作 学习目标 了解文件的概念 掌握文件的打开与关闭操作 掌握文件的读写操作 对于一台计算机而言,最基本的功能就是存储数据。数据在电脑上都是以文件的形式存放的。中也经常需要对文件进行操作。本章针对使用过计算机的人,对“文件”这个词都不会陌生,平时使用Word工具写出的文档、用Excel 设计的统计表、用C语言编写的程序等都是文件。本节将针对文件、文件指针、文件位置指针等相关概念进行详细地讲解。 大多数应用程序都需要实现与设备之间的数据传输,例如,键盘可以输入数据、显示器可以显示程序的运行结果等,在C语言中将这种通过不同输入/输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流”。流实际上就是一个字节序列,输入程序的字节序列被称为输入流,从程序输出的字节序列被称为输出流。为了方便读者更好的理解流的概念,可以把输入流和输出流比作两根“水管”,如图10-1所示。 图10-1中,输入流被看成一个输入管道,输出流被看成一个输出管道,数据通过输入流从源设备输入到程序,通过输出流从程序输出到目标设备,从而实现数据的传输。 1、文本流和二进制流 输入输出流还可以进一步细分为,文本流(字符流)和二进制流。它们之间的主要差异是,在文本流中输入输出的数据是一系列的字符,可以被修改。在二进制流中输入输出数据是一系列字节,不能以任何方式修改。 2、预定义的流 C语言中有三个系统预定义的流,分别为标准输入流(stdin,全称standard input)、标准输出流(stdout,全称standard output)和标准错误输出流(stderr,全称standard error)。这三个标准流分别对应于键盘上的输入、控制台上的正常输出和控制台上的错误输出。它们都是在stdio.h头文件中预定义的,程序只要包含这个头文件,在程序开始执行时,这些流将自动被打开,程序结束后,则自动关闭,不需要做任何初始化准备。 文件标识 从图10-2中我们可以看出,有一个名为Examle01的文件,它的文件类型是txt,该文件可以在“D:\itcast\chapter10\”这个路径下找到。 文件名主干的命名规则通常遵循标识符的命名规则,其文件后缀标识文件的性质,一般不超过3个字母,如txt、doc、jpg、c、exe等。 文件的分类 根据数据的组织形式,数据文件可分为文本文件和二进制文件。下面将针对这两种文件的存储形式进行详细地讲解。 1、二进制文件 数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是二进制文件。可以认为二进制文件就是存储在内存的数据的映像,所以也称为映像文件。 二进制存放形式 从图10-3中可以看出,整数100000转换成二进制0000000110100000存到磁盘上了,说明用二进制形式输出数值,可以节省外存空间(仅需4个字节)和转换时间(把内存中的数据直接映射到磁盘上),但存放的内容不够直观,需要转换才能看到存放的内容。 2、文本文件 文本文件又称为ASCII文件,每一个字节放一个字符的ASCII码。例如有整数100000,如果用文本形式输出到磁盘上,那么在磁盘上的存放形式如图10-4所示。 从图10-4中可以看出,整数100000以字符串的形式被存放到磁盘上了,说明用ASCII码形式输出时字节与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出字符,但一般占存储空间较多(需占6个字节),而且要花费转换时间(二进制形式与ASCII码间的转换)。 从上面的两个例子中我们可以看出二进制文件和文本文件的优劣。综合来说,如果我们希望加载文件和生成文件的速度较快,并且生成的文件较小,我们应该用二进制文件保存数据;如果我们希望生成的文件无需经过任何转换就可看到其内容,我们应该用文本文件保存数据。 文件缓冲区 使用文件缓冲区可以减少磁盘的读写次数,延长磁盘的使用寿命,而且计算机对缓冲区的操作大大快于对磁盘的操作,所以使用文件缓冲区可提高计算机的运行速度。 文件指针 在C语言中,对文件的所有操作都必须依靠文件指针来完成。要想对文件进行读写操作,首先必须将文件与文件指针建立联系,然后通过文件指针来操作相应的文件。 文件指针的定义格式如下所示: FILE * 变量名 例如下面的定义语句: FILE * fp; 变量fp是一个指向FILE类型数据的指针变量,可以使fp指向某一个文件的文件信息区,通过该文件信息区中的信息访问该文件,也就是说,通过文件指针变量能找到与它关联的文件。 需要注意的是,此时的fp指向的FILE结构体还未与任何文件建立联系,必须调用fopen()函数为文件指针变量和要操作的数据文件建立联系。 一个文件指针变量只能指向一个文件,不能指向

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档