c语言入门学习-c_文件.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:400-050-0739(电话支持时间:9:00-19:00)。
第十三章 ? 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 13.6 出错的检测(略) 13.1 C 文件概述 文件: 文件指存储在外部介质 ( 如磁盘磁带 ) 上 数据的集合。 操作系统是以文件为单位对数据进行管理的。 输 出 文件缓冲区 程序 文件 输 入 文件缓冲区 数据区 C 语言程序设计 (第三版) 江苏大学 计算机科学与通信工程学院 3 13.1 C 文件概述 ( 续 ) 文件的分类 ●按数据的组织形式 : ASCII 文件 ( 文本文件 ): 每一个字节放一个 ASCII 代码 二进制文件 : 把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放。 例: 整数 10000 在内存中的存储形式以及分别按 ASCII 码形式和二进制形式输出如下图所示: C 语言程序设计 (第三版) 江苏大学 计算机科学与通信工程学院 4 13.2 文件类型指针 在 stdio.h 文件中有以下的文件类型声明: typedef struct { shortlevel; / * 缓冲区“满”或“空”的程度 * / unsignedflags; / * 文件状态标志 * / charfd; / * 文件描述符 * / unsignedcharhold; / * 如无缓冲区不读取字符 * / shortbsize; / * 缓冲区的大小 * / unsignedchar*buffer ;/* 数据缓冲区的位置 */ unsignedar*curp; /* 指针,当前的指向 */ unsignedistemp; /* 临时文件,指示器 */ shorttoken; /* 用于有效性检查 */ } FILE ; 每个被使用的文件都要在内存中开辟一 FILE 类型的区 , 存放文件的有关信息。 C 语言程序设计 (第三版) 江苏大学 计算机科学与通信工程学院 5 13.2 文件类型指针 ( 续 ) FILE 类型的数组: FILE f [ 5 ] ; 定义了一个结构体数组 f ,它有 5 个元素, 可以用来存放 5 个文件的信息。 文件型指针变量 : FILE *fp ; fp 是一个指向 FILE 类型结构体的指针变量。 可以使 fp 指向某一个文件的结构体变量,从而通过该结构体 变量中的文件信息能够访问该文件。如果有n个文件,一般 应设n个指针变量,使它们分别指向n个文件,以实现对文 件的访问。 C 语言程序设计 (第三版) 江苏大学 计算机科学与通信工程学院 6 13.3 文件的打开与关闭 一 . 文件的打开 (fopen 函数 ) 函数调用 : FILE *fp ; fp = fopen ( 文件名 , 使用文件方式 ); ①需要打开的文件名,也就是准备访问的文件的名字; ②使用文件的方式(“读”还是“写”等); ③让哪一个指针变量指向被打开的文件。 C 语言程序设计 (第三版) 江苏大学 计算机科学与通信工程学院 7 13.3 文件的打开与关闭 ( 续 ) 文件使用方式 含 义 “ r ” ( 只读 ) 打开一个已经存在的文本文件,只能读取数据 “ w ” ( 只写 ) 打开或新建一个文本文件,只能写入数据;若文件已存在, 覆盖原所有内容 “ a ” ( 追加 ) 打开一个已经存在的文本文件,并在文件末尾写数据 “ rb ” ( 只读 ) 打开一个已经存在的二进制文件,只能读取数据 “ wb ” ( 只写 ) 打开或新建一个二进制文件,只能写入数据;若文件已存 在,覆盖原所有内容 “ab”(追加 ) 追加打开一个已经存在的二进制文件,并在文件末尾写数据 “r+”(读写 ) 读写打开一个已经存在的文本文件,允许读和写数据, 写入的内容依次覆盖先前内容 “w+ ” ( 读写 ) 读写打开或新建一文本文

文档评论(0)

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

相关文档

相关课程推荐