清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第十章 文件操作

清华大学出版社 TSINGHUA UN/VERSITY PRESS 第十章 文件操作
第十章

清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 文件的基本概念 文件的基本函数 文件的顺序读写 ■文件的随机读写 文件的简单应用
⚫ 本章要点 ◼ 文件的基本概念 ◼ 文件的基本函数 ◼ 文件的顺序读写 ◼ 文件的随机读写 ◼ 文件的简单应用

清华大学出版社 TSINGHUA UNIVERSITY PRESS ●主要内容 10.1c文件的有关概念 102文件的打开与关闭 103文件的顺序读写 104文件的随机读写 10.5文件读写的出错检测
⚫ 主要内容 10.1 C文件的有关概念 10.2 文件的打开与关闭 10.3 文件的顺序读写 10.4 文件的随机读写 10.5 文件读写的出错检测

清华大学出版社 TSINGHUA UNIVERSITY PRESS §101c文件的有关概念 10.1.1什么是文件 所谓文件一般指存储在外部介质(如磁盘磁带)上 数据的集合 操作系统是以文件为单位对数据进行管理的. 输入输出是数据传送的过程,数据如流水一样从 一处流向另一处,因此常将输入输出形象地称为 流( stream),即输入输出流。 C语言把文件看作是一个字符(字节)的序列 即由一个一个字符(字节)的数据顺序组成 个输入输出流就是个字节流或二进制流
§10.1 C文件的有关概念 10.1.1什么是文件 所谓文件一般指存储在外部介质(如磁盘磁带)上 数据的集合. 操作系统是以文件为单位对数据进行管理的. 输入输出是数据传送的过程,数据如流水一样从 一处流向另一处,因此常将输入输出形象地称为 流(stream),即输入输出流。 C语言把文件看作是一个字符(字节)的序列, 即由一个一个字符(字节)的数据顺序组成。一 个输入输出流就是一个字节流或二进制流

清华大学出版社 TSINGHUA UNIVERSITY PRESS §10.10文件的有关概念 10.1.2文件名 个文件要有一个惟一的文件标识,以便用户识 别和引用。文件标识包括三部分 (1)文件路径:(2)文件名主干;(3)文件后缀。 文件路径表示文件在外部存储设备中的位置。 如: d: \cc\.\ filel dat 注意 文件标识被称为文件名,但此时的文件名包括以上三部分内容 而不仅是文件名主干 文件名主干的命名规则遵循标识符的命名规则。后缀用来表 示文件的性质,一般不超过3个字母 如:doc(Word生成的文件),txt(文本文件),dat(数据文件)
§10.1 C文件的有关概念 10.1.2 文件名 一个文件要有一个惟一的文件标识,以便用户识 别和引用。文件标识包括三部分: (1)文件路径:(2)文件名主干;(3)文件后缀。 文件路径表示文件在外部存储设备中的位置。 如: d: \ cc \ temp \ file1 . dat ↑ ↑ ↑ 文件路径 文件名主干 文件后缀 注意: • 文件标识被称为文件名,但此时的文件名包括以上三部分内容, 而不仅是文件名主干。 •文件名主干的命名规则遵循标识符的命名规则。后缀用来表 示文件的性质,一般不超过3个字母. 如:.doc (Word 生成的文件),.txt (文本文件),.dat (数据文件)

清华大学出版社 TSINGHUA UNIVERSITY PRESS §1010文件的有关概念 10.1.3文件的分类 根据数据的组织形式,数据文件可分为ASC工工 文件和二进制文件。 ASCI文件文本文件)每一个字节放一个ASC代码 进制文件:把内存中的数据按其在內存中的存储形 式原样输出到磁盘上存放. 例:整数10000在内存中的存储形式以及分别按ASCI 码形式和二进制形式输出如下图所示: ASCI形式 内存中 00110001001100000110000011000001100 存储形式 (1) (0) 0010011100010000 二进制形式 0010011100010000
10.1.3 文件的分类 根据数据的组织形式,数据文件可分为ASCII 文件和二进制文件。 ASCII文件(文本文件):每一个字节放一个ASCII代码 二进制文件:把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放. 例:整数10000在内存中的存储形式以及分别按ASCII 码形式和二进制形式输出如下图所示: §10.1 C文件的有关概念

清华大学出版社 TSINGHUA UNIVERSITY PRESS §1010文件的有关概念 10.1.3文件的分类 ASCI文件和二进制文件的比较 ASCI文件便于对字符进行逐个处理,也便于输出 字符。但一般占存储空间较多,而且要花费转换时 二进制文件可以节省外存空间和转换时间,但一个 字节并不对应一个字符,不能直接输出字符形式。 一般中间结果数据需要暂时保存在外存上,以后又 需要输入内存的,常用二进制文件保存
§10.1 C文件的有关概念 10.1.3 文件的分类 ASCII文件和二进制文件的比较: ASCII文件便于对字符进行逐个处理,也便于输出 字符。但一般占存储空间较多,而且要花费转换时 间。 二进制文件可以节省外存空间和转换时间,但一个 字节并不对应一个字符,不能直接输出字符形式。 一般中间结果数据需要暂时保存在外存上,以后又 需要输入内存的,常用二进制文件保存

清华大学出版社 TSINGHUA UNIVERSITY PRESS §1010文件的有关概念 10.1.4文件缓冲区 ANSI O标准采用“缓冲文件系统″处理文件. 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区 从内存向磁盘输出数据必须先送到内存中的缓冲 区,装满缓冲区后才一起送到磁盘去 →输出文件缓冲区 程序 文件 数据区 输入文件缓冲区
§10.1 C文件的有关概念 10.1.4 文件缓冲区 ANSI C标准采用“缓冲文件系统”处理文件. 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据必须先送到内存中的缓冲 区,装满缓冲区后才一起送到磁盘去。 文件 程序 数据区 输出文件缓冲区 输入文件缓冲区

清华大学出版社 TSINGHUA UNIVERSITY PRESS §101c文件的有关概念 10.1.5文件指针 不同的C编译系统的FILE类型包含的内容不完全相同,但大同小 异。 Turbo C在 stdio.h文件中有以下的文件类型声明: typedef struct shortlevel;/*缓冲区“满”或“空”的程度*/ unsignedflags;/*文件状态标志*/ chard;/*文件描述符*/ unsignedcharhold;/*如无缓冲区不读取字符*/ shortbsize;/*缓冲区的大小* unsignedchar*buffer;y数据缓冲区的位置*/ unsigned*curp/指针,当前的指向*/ unsignedistemp;/临时文件,指示器* shorttoken;/用于有效性检查*/}FILE; 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一 FILE类型的区存放文件的有关信息
§10.1 C文件的有关概念 10.1.5 文件指针 不同的C编译系统的FILE类型包含的内容不完全相同,但大同小 异。 Turbo C在stdio.h文件中有以下的文件类型声明: typedef struct { shortlevel; /*缓冲区“满”或“空”的程度*/ unsignedflags; /*文件状态标志*/ charfd; /*文件描述符*/ unsignedcharhold; /*如无缓冲区不读取字符*/ shortbsize; /*缓冲区的大小*/ unsignedchar*buffer;/*数据缓冲区的位置*/ unsignedar*curp;/*指针,当前的指向*/ unsignedistemp;/*临时文件,指示器*/ shorttoken;/*用于有效性检查*/}FILE; 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一 FILE类型的区,存放文件的有关信息

清华大学出版社 TSINGHUA UNIVERSITY PRESS §101c文件的有关概念 10.1.5文件指针 FILE类型的数组 FLEf[5]:义了一个结构体数组f,它有5个元素 可以用来存放5个文件的信息 文件型指针变量: FILE*fp;fp是一个指向FIL类型结构体的 指针变量。可以使fp指向某一个文件的结构体变量,从 而通过该结构体变量中的文件信息能够访问该文件。如果 有n个文件,一般应设n个指针变量,使它们分别指向n 个文件,以实现对文件的访问
§10.1 C文件的有关概念 10.1.5 文件指针 FILE类型的数组: FILE f[5];定义了一个结构体数组f,它有5个元素, 可以用来存放5个文件的信息。 文件型指针变量: FILE *fp;fp是一个指向FILE类型结构体的 指针变量。可以使fp指向某一个文件的结构体变量,从 而通过该结构体变量中的文件信息能够访问该文件。如果 有n个文件,一般应设n个指针变量,使它们分别指向n 个文件,以实现对文件的访问
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第九章 用户建立的数据类型.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第七章 函数调用.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第六章 数组.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第五章 循环结构程序设计.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第四章 选择结构程序设计.ppt
- 厦门理工学院(厦门理工大学):《高级语言程序设计》课程电子教案(PPT教学课件)第7章 指针(教师:吴芸).ppt
- 《Visual C++编程技术》课程电子教案(讲义)第5章 菜单、工具栏和状态栏编程.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第4章 基本输入—键盘和鼠标消息.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第3章 面向对象程序设计与C++语言.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第2章 Windows编程与MFC基础.pdf
- 《Visual C++编程技术》课程电子教案(讲义)第1章 Visual c++6.0基本应用程序的创建.pdf
- 河南工业大学:《微机原理与接口技术》第九章 中断.ppt
- 河南工业大学:《微机原理与接口技术》第八章 串行输入/输出接口.ppt
- 河南工业大学:《微机原理与接口技术》第七章 可编程接口芯片.ppt
- 河南工业大学:《微机原理与接口技术》第六章 微型计算机的输入/输出.ppt
- 河南工业大学:《微机原理与接口技术》第五章 存储器原理与接口.ppt
- 河南工业大学:《微机原理与接口技术》第四章 8086汇编语言程序设计.ppt
- 河南工业大学:《微机原理与接口技术》第三章 8086的指令系统.ppt
- 河南工业大学:《微机原理与接口技术》第二章 8086体系结构.ppt
- 河南工业大学:《微机原理与接口技术》第一章 计算机基本知识.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第一章 C语言概述.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第二章 数据类型、算待与表达式.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第三章 最简单的C程序设计-一顺序程序设计.ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第八章 使用指针.ppt
- 宜昌市广播电视大学:《计算机网络》PPT教学课件(共五章).ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第九章 JavaScript 中的浏览器对象.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第十章 处理表单和表单元素事件.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第一章 Dreamweaver 使用入门.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第二章 使用 Dreamweaver 制作网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第三章 制作动态网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第四章 HTML.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第五章 使用表格和表单.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第六章 层叠样式表.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第七章 JavaScript 语法基础.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第八章 JavaScript 核心语言对象.ppt
- 《大学计算机基础教程》课程教学资源:PPT教学课件 第1章 计算机基础.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 8086指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 存储器.ppt