- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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()函数为文件指针变量和要操作的数据文件建立联系。
一个文件指针变量只能指向一个文件,不能指向
您可能关注的文档
- 端午节出行安全指南.pptx
- 第 3 章 电力系统三相短路的实用计算.ppt
- 第 4 章 同步时序逻辑电路-2.ppt
- 第 6单元 百分数.doc
- 空调机关键部件功能简介.ppt
- 笔试-A卷-08-09-3-C++(电类)Ⅱ.doc
- 第 二 单元 位置与方向(教师用).docx
- 第 一 章__ 教育技术概述.ppt
- 第01章 C语言的初步知识.ppt
- 第01章 DSP绪论.ppt
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)