C及C++程序设计 第十三章 磁盘文件操作(IO系统)
C及C++程序设计
人民邮电出版社
第十三章 磁盘文件操作 (I/O系统)
C及C++程序设计
人民邮电出版社
13.1 文件概述 13.2 控制台I/O 控制台 13.3 ANSI 文件 系统 文件I/O系统
C及C++程序设计
人民邮电出版社
13.1 文件概述13.1.1 C文件的概念 文件的概念 文件(file)是计算机技术中的一个重要概念。文 是计算机技术中的一个重要概念。 文件 是计算机技术中的一个重要概念 件一词我们多次使用。 件一词我们多次使用。 从操作系统的角度, 从操作系统的角度,与主机相连的输入输出设 也看做是文件。 备,也看做是文件。
C及C++程序设计
人民邮电出版社
13.1.2 流的概念 ANSI C的文件系统适用于多种设备,如终端、磁 的文件系统适用于多种设备, 的文件系统适用于多种设备 如终端、 盘和磁带等设备。 盘和磁带等设备。 根据文件存储形式的不同,有两种类型的流: 根据文件存储形式的不同,有两种类型的流:文 本流和二进制流。 本流和二进制流。 1. 文本流 文本流是一个ASCII码字符序列。 文本流是一个ASCII码字符序列。根据具体环境的 ASCII码字符序列 需要,可能会有一定的字符要进行转换。 需要,可能会有一定的字符要进行转换。 2. 二进制流 二进制流是一组字节序列。 二进制流是一组字节序列。它与设备之间传递的 数据存在一一对应的关系,即没有任何字符的转换。 数据存在一一对应的关系,即没有任何字符的转换。
C及C++程序设计
人民邮电出版社
13.1.3 缓冲文件系统和非缓冲文件系统 C语言支持两种文件系统:缓冲文件系统和非 语言支持两种文件系统: 语言支持两种文件系统 缓冲文件系统。 缓冲文件系统。 所谓缓冲文件系统(buffered file system) 是指 所谓缓冲文件系统 在进行I/O操作时 操作时, 在进行 操作时,系统自动为每个打开的文件开 辟一个内存缓冲区。 辟一个内存缓冲区。 所谓非缓冲文件系统(unbuffered file system) 所谓非缓冲文件系统 是指系统不自动开辟内存缓冲区, 是指系统不自动开辟内存缓冲区,而是由程序自 己为每个文件设定缓冲区。 己为每个文件设定缓冲区。
C及C++程序设计
人民邮电出版社
13.2 控制台 控制台I/O13.2.1 简单的控制台 函数 简单的控制台I/O函数 1. 读写字符 表中读写字符的四个函数的原型如下: 表中读写字符的四个函数的原型如下: int getche(void); int puthar(int); int getchar(void); int getch(void); 函数getchar()是函数 是函数getche()的一个变体。由于 的一个变体。 函数 是函数 的一个变体 它要求输入回车, 它要求输入回车,就有可能在函数返回之后留下字 符在输入流中。 符在输入流中。
C及C++程序设计
人民邮电出版社
2. 读写字符串 用于控制台读写字符串的函数为gets()和puts()。 用于控制台读写字符串的函数为 和 。
它们的原型如下: 它们的原型如下: char *gets(char *); int puts(char *); 并且都在头文件stdio.h中说明。 中说明。 并且都在头文件 中说明 gets()函数从键盘读入一个字符串,放到指针参数 函数从键盘读入一个字符串, 函数从键盘读入一个字符串 指定的地址中。 指定的地址中。 puts()函数的功能是在屏幕上显示一字符串,后跟 函数的功能是在屏幕上显示一字符串, 函数的功能是在屏幕上显示一字符串 一个新行符。 一个新行符。
C及C++程序设计
人民邮电出版社
13.2.2 格式化的控制台 格式化的控制台I/O 除了前面所介绍的简单控制台I/O函数以外,C 除了前面所介绍的简单控制台 函数以外,C 函数以外 标准函数库中还有两个格式化输入输出函数: 标准函数库中还有两个格式化输入输出函数: printf()和scanf()。 printf()和scanf()。
C及C++程序设计
人民邮电出版社
13.2.3 标准设备文件及 改向 标准设备文件及I/O改向 当进行输入输出操作时,一般输入设备为键盘, 当进行输入输出操作时,一般输入设备为键盘, 输出设备为显示器。这是系统规定的, 输出设备为显示器。这是系统规定的,称这些设备为 标准设备。 标准设备。 标准设备文件的改向操作, 标准设备文件的改向操作,是在执行用户程序文 件时,用改向操作符实现的。有两个改向操作符, 件时,用改向操作符实现的。有两个改向操作符,它 们是: 们是: < 标准输入文件改向; 标准输入文件改向; > 标准输出文件改向。 标准输出文件改向。
C及C++程序设计
人民邮电出版社
13.3 ANSI 文件 系统 文件I/O系统ANSI 文件 文件I/O 系统,也称为缓冲文件输入输 系统, 出系统。它由一些相互关联的函数组成。 出系统。它由一些相互关联的函数组成。
C及C++程序设计
人民邮电出版社
13.3.1 文件结构类型和文件指针 首先引入一个新的数据类型, 首先引入一个新的数据类型,即文件结构 类型。 类型。 文件I/O系统中 系统中, 在ANSI 文件 系统中,每个被使用的文 都在内存开辟一个区, 件,都在内存开辟一个区,用于存放文件的相 关信息,如文件名、文件状态、 关信息,如文件名、文件状态、文件缓冲区位 置以及当前的读写位置等。 置以及当前的读写位置等。 指向FILE结构的指针称为文件指针。文件 结构的指针称为文件指针。 指向 结构的指针称为文件指针 指针变量定义的一般形式为: 指针变量定义的一般形式为: FILE *文件指针名; 文件指针名; 文件指针名
C及C++程序设计
人民邮电出版社
13.3.2 打开文件和关闭文件 文件操作的总流程是:打开文件→操作文件 文件操作的总流程是:打开文件 操作文件→ 操作文件 关闭文件。 关闭文件。 所谓打开文件, 所谓打开文
件,就是把一个流同一个文件联 系起来,使得能够进行文件的输入和输出操作。 系起来,使得能够进行文件的输入和输出操作。
C及C++程序设计
人民邮电出版社
1. 文件打开函数 文件打开函数fopen() 打开文件是通过函数fopen()实现的。此函数 实现的。 打开文件是通过函数 实现的 要完成下列两个功能: 要完成下列两个功能: 第一, 第一,打开一个流并把它同一个需要打开的 文件联系起来; 文件联系起来; 第二,返回该文件的文件指针。 第二,返回该文件的文件指针。 fopen()函数的原型如下: 函数的原型如下: 函数的原型如下 FILE *fopen(char *filename, char *mode);
C及C++程序设计
人民邮电出版社
模式打开的文件, 用“r”模式打开的文件,只能用于向计算机输入 模式打开的文件 数据(读文件 不能向该文件输出数据(写文件 读文件), 写文件)。 数据 读文件 ,不能向该文件输出数据 写文件 。此 模式要求所要打开的文件必须是已经存在, 模式要求所要打开的文件必须是已经存在,否则在打 开时出错。 开时出错。 用“w”模式打开的文件只能用于向文件写数据 模式打开的文件只能用于向文件写数据 不能用来向计算机输入数据。 ,不能用来向计算机输入数据。 模式打开的文件, 用“a”模式打开的文件,可以向文件的末尾添加 模式打开的文件 数据。 数据。 打开的文件, 用“r+”、“w+”和“a+”打开的文件,既可以用 、 和 打开的文件 作写也可以用作读。 作写也可以用作读。
C及C++程序设计
人民邮电出版社
2. 文件关闭函数 fclose() 函数fclose() …… 此处隐藏:3009字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




