- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[电脑基础知识]c语言课件18续
C语言程序设计 第十八次课教案(续) 章节名称: 第11章 文 件 教学目的与要求: 掌握文件的概念,掌握打开文件、关闭文件及对文件进行读写操作的方法。能够对文件进行简单的读写操作。 教学内容: 1. 文件的概念及文件类型指针 2. 文件的打开与关闭 3. 文件的读写 4. 文件的定位与随机读写 重点: 2、3、4 难点: 1 作业:完善课程设计简单版中数据的存储。 教学过程:ppt课件,提问回答 11.1文件概述 一、文件分类 (一)文件 文件是存储在外存储器上信息的集合。 每个文件有唯一的名称(文件名.扩展名)来标识。计算机通过名称对文件进行读、写、修改或删除等操作。 文件可以从不同的角度进行分类,例如按照文件保存的内容区分,磁盘文件可以分为程序文件和数据文件。 程序文件保存的是程序,读写操作一般由系统完成;数据文件用于保存数据,其读写往往由应用程序实现。 从广义上说,文件是指信息输入和输出的对象,磁盘文件、键盘、显示器、打印机等均可视为文件。如DOS将打印机和键盘分别命名为 PRN和CON的两个专用设备文件名。 (二)数据文件的存储形式 C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。 根据数据的组织形式,可分为ASCII码文件和二进制文件。 ASCII码文件是将数据以字符形式存放,又称为文本文件。 二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。 一个任意int型整数,其二进制存储方式都是占4个字节;而字符存储方式所占字节数=该数的数字个数。 int型数 2978 二进制存储方式 字符存储方式 用户可以自己选择存储方式,若阅读则选择文本文件,否则为了节省时间和空间应该选二进制文件。 一般地说,二进制文件节省存储空间,用户程序在实用中,从节省时间和空间的要求考虑,一般选用二进制文件。但是如果用户准备的数据是作为文档阅读使用的,则一般使用文本文件,它们可以方便、快捷地通过显示器或打印机直接输出。 (三)缓冲文件与非缓冲文件 1. 缓冲文件 又称为标准I/O文件或高级文件系统; 是指系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区。当从磁盘文件读数据时,应用程序并不直接从磁盘文件读取数据,而是先由系统将一批数据从磁盘取入内存缓冲区,然后再从缓冲区依次将数据送给程序中的接收变量,供程序处理。在向磁盘文件写入数据时,先将程序中有关变量或表达式的值送到缓冲区中,待缓冲区装满后,才由系统将缓冲区的数据一次写入磁盘文件中。 这样做减少了系统读写磁盘的次数,提高了程序的执行效率。 2. 非缓冲文件 又称为系统I/O文件或低级文件系统。 是指系统不自动开辟确定大小的缓冲区,而由程序本身根据需要设定。 ANSI C标准决定不采用非缓冲文件系统,而只采用缓冲文件系统。即既用缓冲文件系统处理文本文件,也用它来处理二进制文件。 (四)文件存取方式 C语言的数据文件由顺序存放的一连串字节(字符)组成,没有记录的界限,因此,C语言的文件被称作流式文件,文件存取操作的数据单位是字节,允许存取一个字节和任意多个字节,增加了文件操作的灵活性。 缓冲文件系统提供了4种文件存取方法: (1) 读写一个字符。 (2) 读写一个字符串,将多个字符组成的字符串写入文件或从文件中读出。 (3) 格式化读写,根据格式控制指定的数据格式对数据进行转换存取。 (4) 成块读写。 有相应的函数来完成上述的操作。 二、文件指针 缓冲文件系统中,关键的概念是“文件指针”。每个被使用的文件都在内存中开辟一个区域,用来存放文件的有关信息(如文件的名字、文件当前位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是由系统定义的,取名为FILE。Turbo C在stdio.h文件中定义了FILE类型。 typedef struct { short level; unsigned flags; char fd; unsigned char hold; short bsize; unsigned char *buffer; unsigned char *curp; unsigned istemp; short token; }FILE; 有了结构体FILE类型之后,可以用它来定义FILE类型变量,以便存放文件的信息。 FILE f1,f2; FILE *fp; fp是一个指向FILE类型的指针变量。可以使fp指向某一个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。也就是说,通过文件指针变量能够找到与它相关的文件。 如果程序同时对n个文件进行操作,一般应设n个指针变量,使它们分别指向n个文件(即指向存放该文件信息的结构体变量),以实现对文件的访问。
文档评论(0)