清华大学:《C语言》课程教学课件(PPT讲稿)第十三章 文件

清华大学出版社 TSINGHUA UNIVERSITY PRESS 第十三章 文件
第十三章

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

清华大学出版社 TSINGHUA UNIVERSITY PRESS ●主要内容 13.1c文件概述 13.2文件类型指针 13.3文件的打开与关闭 134文件的读写 135文件的定位 13.6出错的检测 13.7文件输入输出小结
⚫ 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 13.6 出错的检测 13.7 文件输入输出小结

清华大学出版社 TSINGHUA UNIVERSITY PRESS 13.1c文件概述 文件:文件指存储在外部介质(如磁盘磁带)上 数据的集合。 操作系统是以文件为单位对数据进行管理的。 输出文件缓冲区 程序 文件 数据区 输入文件缓冲区
13.1 C文件概述 文件:文件指存储在外部介质(如磁盘磁带)上 数据的集合。 操作系统是以文件为单位对数据进行管理的。 文件 程序 数据区 输出文件缓冲区 输入文件缓冲区

清华大学出版社 TSINGHUA UNIVERSITY PRESS 13.1c文件概述(续) 文件的分类 ●从用户观点: 特殊文件(标准输入输出文件或标准设备文件) 普通文件(磁盘文件) 从操作系统的角度看,每一个与主机相连的输入 输出设备看作是一个文件。 例:输入文件:终端键盘 输出文件:显示屏和打印机
13.1 C文件概述(续) 文件的分类 ●从用户观点: 特殊文件(标准输入输出文件或标准设备文件)。 普通文件(磁盘文件)。 ●从操作系统的角度看,每一个与主机相连的输入 输出设备看作是一个文件。 例:输入文件:终端键盘 输出文件:显示屏和打印机

清华大学出版社 TSINGHUA UNIVERSITY PRESS 13.1c文件概述(续) 文件的分类 ●按数据的组织形式: ASCI文件(文本文件):每一个字节放一个ASC代码 二进制文件:把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放。 例:整数10000在内存中的存储形式以及分别按ASCI 码形式和二进制形式输出如下图所示 ASCI形式 内存中 001100010011000000110000001100000110000 存储形式 (1) (0) (0) (0) 0010011100010000 进制形式 0010011100010000
文件的分类 ●按数据的组织形式: ASCII文件(文本文件):每一个字节放一个ASCII代码 二进制文件:把内存中的数据按其在内存中的存储形 式原样输出到磁盘上存放。 例:整数10000在内存中的存储形式以及分别按ASCII 码形式和二进制形式输出如下图所示: 13.1 C文件概述(续)

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

清华大学出版社 TSINGHUA UNIVERSITY PRESS 13.1c文件概述(续) 文件的分类 C语言对文件的处理方法 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区。用缓冲文件系统 进行的输入输出又称为高级磁盘输入输岀。 非缓冲文件系统:系统不自动开辟确定大小的缓 冲区,而由程序为每个文件设定缓冲区。用非缓 冲文件系统进行的输入输出又称为低级输入输出 系统
13.1 C文件概述(续) 文件的分类 •C语言对文件的处理方法: 缓冲文件系统:系统自动地在内存区为每一个正 在使用的文件开辟一个缓冲区。用缓冲文件系统 进行的输入输出又称为高级磁盘输入输出。 非缓冲文件系统:系统不自动开辟确定大小的缓 冲区,而由程序为每个文件设定缓冲区。用非缓 冲文件系统进行的输入输出又称为低级输入输出 系统

清华大学出版社 TSINGHUA UNIVERSITY PRESS 13.1c文件概述(续) 说明 在∪NⅨ系统下用缓冲文件系统来处理文本文件, 用非缓冲文件系统来处理二进制文件。 ANSI C标准只采用缓冲文件系统来处理文本文 件和二进制文件。 C语言中对文件的读写都是用库函数来实现
13.1 C文件概述(续) 说明: 在UNIX系统下,用缓冲文件系统来处理文本文件, 用非缓冲文件系统来处理二进制文件。 ANSI C 标准只采用缓冲文件系统来处理文本文 件和二进制文件。 C语言中对文件的读写都是用库函数来实现

清华大学出版社 TSINGHUA UNIVERSITY PRESS 13.2文件类型指针 Turbo C在 stdio. h文件中有以下的文件类型声明 typedef struct shortlevel;/*缓冲区“满”或“空”的程度*/ unsignedflags;/*文件状态标志*/ chard /*文件描述符* unsignedcharhold;/*如无缓冲区不读取字符*/ shortbsize;/*缓冲区的大小*/ unsignedchar* buffer;/数据缓冲区的位置* unsigned*curp/指针,当前的指向*/ unsignedistemp;/临时文件,指示器* shorttoken;/用于有效性检查*/}FILE 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一 FLE类型的区存放文件的有关信息
13.2 文件类型指针 Turbo C在stdio.h文件中有以下的文件类型声明: typedef struct { shortlevel; /*缓冲区“满”或“空”的程度*/ unsignedflags; /*文件状态标志*/ charfd; /*文件描述符*/ unsignedcharhold; /*如无缓冲区不读取字符*/ shortbsize; /*缓冲区的大小*/ unsignedchar*buffer;/*数据缓冲区的位置*/ unsignedar*curp;/*指针,当前的指向*/ unsignedistemp;/*临时文件,指示器*/ shorttoken;/*用于有效性检查*/}FILE; 在缓冲文件系统中,每个被使用的文件都要在内存中开辟一 FILE类型的区,存放文件的有关信息
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十二章 位运算.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十一章 结构体与共用体.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十章 指针.ppt
- 《实用网络配置指南》参考书籍PDF电子书(初级篇).doc
- 《VISUAL C++程序设计基础》(PPT教学课件)第四章 函数.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第十章 异常处理.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第十一章 标准模板库(STL).ppt
- 《VISUAL?C++程序设计基础》(PPT教学课件)第六章 指针与数组.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第八章 继承与多态.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第五章 类与对象.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第二章 C++基础知识(课件).ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第九章 流类库和输入.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第三章 结构化程序设计.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第七章 动态内存分配.ppt
- 《VISUAL C++程序设计基础》(PPT教学课件)第一章 软件设计概述.ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》VHDL语言详解(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第3章 VHDL 入门(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》PDF电子书(共四章)(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第七章 VHDL中的重载(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第六章 VHDL中属性的描述及定义语句(蔡喜平).ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第十四章 常见错误和程序调试.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第一章 C语言概述.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第二章 程序的灵魂一算法.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第三章 数据类型、运算符与表达式.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第四章 最简单的C程序设计.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第五章 选择结构程序设计.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第六章 循环控制.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第七章 数组.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第八章 函数.ppt
- 清华大学:《C语言》课程教学课件(PPT讲稿)第九章 预处理命令.ppt
- 《C语言》课程教学课件(PPT讲稿)第七章 编译预处理.ppt
- Problem A(文献资料)A Careful Approach.pdf
- 西南财经大学:《数据库系统原理》课程教学资源(教学大纲).doc
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第十章 数据库完整性.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一章 绪论(1.1-1.2)数据库系统概述、数据模型.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一章 绪论(1.1-1.2)数据库系统概述、数据模型.ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一章 绪论(1.2-1.6).ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一章 绪论(1.2-1.6).ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第二章 关系数据库(2.1、2.2、2.3).ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第二章 关系数据库(2.4、2.5、2.6).ppt