C语言程序设计教学课件:第11章 文件.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
共 29 页 第 * 页 第十一章 C语言程序设计 共 29 页 第 * 页 本 章 要 点 掌握文件类型指针 (FILE类型指针) 掌握文件的打开与关闭 (fopen, fclose) 掌握文件的读写 共 29 页 第 * 页 11.1 C文件概述 1.定义: 文件是指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的。每一个与主机相连的输入或输出设备都看作是一个文件。 2.组织形式: 按照文件的存储的编码形式分为两类 ASCII码(文本)文件:文件的每一个字节放一个ASCII代码,代表一个字符。 二进制文件:把内存中的数据按其在内存中的存储形式原样输出到磁盘文件上。 3. 逻辑结构: 从文件的逻辑结构把文件看做数据流 字符(字节)序列:由一个个字符(字节)的数据顺序组成,对文件的存取是以字符(字节)为单位,称为字符流。 二进制流 共 29 页 第 * 页 4. 输入输出方式 缓冲文件系统: 由于系统对从磁盘文件数据的存取速度与内存数据存取访问的速度不同,文件数据量较大,数据的读写不可能瞬间完成。为了提高数据存取速度,C程序对文件的处理采用缓冲文件系统方式进行。要求程序与文件之间有一个内存缓冲区,程序与文件的数据交换通过缓冲区进行。缓冲区的大小由C系统决定。 系统自动为每一个文件分配一个内存缓冲区,当程序要向磁盘文件写入数据 ,必须先送到缓冲区,由操作系统把缓冲区的数据存入磁盘。从文件向内存读入数据,先由操作系统把数据读入缓冲区,然后程序将数据从缓冲区读入内存。 共 29 页 第 * 页 非缓冲文件系统: 系统不自动开辟确定大小的缓冲区,而由程序为每个文件设定缓冲区。 不同的操作系统对文件的处理采用不同的方式,UNIX用缓冲文件系统处理文本文件,用非缓冲系统处理二进制文件。标准C只采用缓冲文件系统。 共 29 页 第 * 页 C程序对文件的所有操作通过对文件缓冲区的操作来完成。对文件的读写操作通过库函数实现。 程序要处理文件时,只需要跟内存缓冲区打交道,而不必考虑外部磁盘的特性。 程序 数据区 输出文件 缓冲区 输入文件 缓冲区 磁盘 操作系统自动完成 程序控制 共 29 页 第 * 页 11.2 文件类型指针 结构体类型 FILE 每个被使用的文件都在内存中开辟一个区域,用来存放文件的有关信息(如文件名,状态,当前位置等)。这些信息保存在一个结构体类型的变量中。 定义:缓冲文件系统中,获取内存中存放文件有关信息的结构体的指针定义为文件类型指针。通过文件指针变量能找到指定的文件,以实现对文件的访问。 共 29 页 第 * 页 对文件操作的相关信息的结构体类型由系统定义为“FILE”,包含在 stdio.h文件中:如 typedef struct { int _fd;; /* 文件号 */ int _cleft; /* 缓冲区中剩下的字符 */ int _mode; /* 文件操作模式 */ char *_nexttc; /* 下一个字符位置 */ char *_buff; /* 文件缓冲区位置 */ }FILE; 共 29 页 第 * 页 例:定义一个文件指针变量 FILE *fp; fp是一个指向FILE结构体类型的指针变量。可以使 fp指向某一个具体文件的结构体变量,通过读取该结构体变量中的有关信息来实现对文件的访问和操作。也就是通过fp 指定要被访问的文件。 提示: 文件操作具有顺序性,文件指针不能进行fp++或 fp—操作,前一个数据取出后,下一次将顺序取后 一个数据。 共 29 页 第 * 页 文件的一般操作过程 打开文件— 建立用户程序与文件的联系 操作文件— 对文件进行读、写、追加等操作 关闭文件— 切断文件与程序的联系 共 29 页 第 * 页 11.3 文件的打开与关闭 11.3.1 文件的打开(函数 fopen) 功能:在对文件读写之前打开文件。 调用方式: FILE *fp; fp=fopen(文件名,使用文件方式); 返回值:指定文件的指针,若失败返回 NULL 三要素:文件指针,文件名,使用方式 例:fp=fopen(“m1”,”r”); fp=fopen(“e:\\mydata.dat”,”r”); 表示打开名为m1的文件, 使用方式为“读入”. 提示:文件名和打开方式都是字符串,一般要指出文件存放的路径,不指出路径则默认与当前程序的路径相同。 共 29 页 第 * 页

文档评论(0)

学习让人进步 + 关注
实名认证
内容提供者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档