山东大学:《Visual C++程序设计》第14章 输入/输出流类库(张晓如)

第14章 输入输出流类库
2021/2/24 1 第14章 输入/输出流类库

输入输出:指程序与计算机的外部设备之间进行信息交换 输出操作:将一个对象转换为一个字符序列,输出到某地方。 输入操作:从某地方接收一个字符序列,转换为对象要求的格 式赋给对象。 目的:接收输出数据的地方 源:输入数据来自的地方。 输入输出的本质 字符序列 源[目的 流动 故将输入/输出操作的类体系称为流类,提供这个流类实现的 系统称为流类库 2021/2/24
2021/2/24 2 输入输出:指程序与计算机的外部设备之间进行信息交换。 输出操作:将一个对象转换为一个字符序列,输出到某地方。 输入操作:从某地方接收一个字符序列,转换为对象要求的格 式赋给对象。 目的:接收输出数据的地方。 源:输入数据来自的地方。 输入输出的本质: 字符序列 源 目的 流动 故将输入/输出操作的类体系称为流类,提供这个流类实现的 系统称为流类库

概述 两套方法: 与C语言兼容的输入/输出库数建议使用 输入/输出流类库 流( Stream) 什么是流是有向的数据流动的抽象描述,是数据流动的 渠道和方向,是程序与输入输出设备的连接桥梁。如: cin>>name;∥从流对象(键盘)读数据放入变量中 cout<<"my name is"<< name < endl 将数据写到流对象(屏幕)中 2021/2/24
2021/2/24 3 建议使用 概述 两套方法: •与C语言兼容的输入/输出库函数 •输入/输出流类库 流(Stream) 什么是流 是有向的数据流动的抽象描述,是数据流动的 渠道和方向,是程序与输入/输出设备的连接桥梁。如: cin >> name; //从流对象(键盘)读数据放入变量中 cout << my name is << name << endl; //将数据写到流对象(屏幕)中

输出设备 文件 程序 输入设备 两种类型的流:文本流、二进制流 文本流:一串ASCI字符,如源程序文件、文本文件。 可直接输出至显示器或打印机上 二进制流:将数据以二进制的形式存放,传输时不要作 变换。 2021/224
2021/2/24 4 两种类型的流:文本流、二进制流 文本流:一串ASCII字符,如源程序文件、文本文件。 可直接输出至显示器或打印机上。 二进制流:将数据以二进制的形式存放,传输时不要作 变换。 程序 输入设备 输出设备 文件

使用流的优点: 减少使用不当引起的程序错误 减少成员函数 文件 文件是C++对具体设备的抽象。如:一个源程序 个描述类的数据结构、一个可执行程序、一台显示器、 台打印机等 文件可具有不同的行为,即执行不同的操作。如:将 数据写入磁盘文件或取出;将数据写入打印机文件等。 2021/224 5
2021/2/24 5 使用流的优点: •减少使用不当引起的程序错误 •减少成员函数 文件 文件是C++对具体设备的抽象。如:一个源程序、一 个描述类的数据结构、一个可执行程序、一台显示器、 一台打印机等。 文件可具有不同的行为,即执行不同的操作。如:将 数据写入磁盘文件或取出;将数据写入打印机文件等

缓冲 缓冲区:系统在内存中开辟的专用来临时存放输入/输出信 息的区域 非缓冲的:一旦数据送入流立即处理 输入/输出流 缓冲的:当缓冲区满时或当前送入的数据为 新的一行字符时才处理。 提高系统效率 一般使用缓冲流,特 殊情况使用非缓冲流 2021/224 6
2021/2/24 6 缓冲 缓冲区:系统在内存中开辟的专用来临时存放输入/输出信 息的区域。 输入/输出流 缓冲的:当缓冲区满时或当前送入的数据为 新的一行字符时才处理。 非缓冲的:一旦数据送入流立即处理。 提高系统效率 一般使用缓冲流,特 殊情况使用非缓冲流

类jos中有一个指针 C+的基本流类体系成员指向类 streambu的一个对 基类 象。其作用是管理 基本流类体系 流的缓冲区。 lOS streambuf 类os的公有 派生类,提 类os的公有派 供完成输入 操作的成员 ostream 生类,提供完 Istream 成输出操作的 函数 成员函数 由 stream 和 iostream ostream公有派 均包含在头文 生,可完成输 件 iostream. h中 入/输出操作 输入/输出的基本流类体系 2021/224
2021/2/24 7 均包含在头文 件iostream.h中 C++的基本流类体系 基本流类体系 ios streambuf istream ostream iostream 输入/输出的基本流类体系 基类 类ios中有一个指针 成员指向类 streambuf的一个对 象。其作用是管理 流的缓冲区。 类ios的公有 派生类,提 供完成输入 操作的成员 函数。 类ios的公有派 生类,提供完 成输出操作的 成员函数。 由istream和 ostream公有派 生,可完成输 入/输出操作

预定义的标准流与提取和插入运算符 四个标准流对象:cin、cout、cer、clog。 cin为其对象 公有派生 类 stream 类 istream withassign cout、cerr、clog为其对象 公有派生 类 ostream 类 ostream withassign 2021/224 8
2021/2/24 8 预定义的标准流与提取和插入运算符 四个标准流对象:cin、cout、cerr、clog。 类istream 公有派生 类istream_withassign cin为其对象 类ostream 公有派生 类ostream_withassign cout、cerr、clog为其对象

使用“>”实现 标准输入流。默认设 流 cIn 备键盘,实现从键盘 输入数据。 标准输出流。默认设 流流 cout 备显示器,实现从显 示器上显示数据 流cog 输入/输出时系 标准错误信息输统自动完成数据 出流。默认显示 类型的转换 缓_流 cerr 流 标准流通过重载“>”和“<”执行输入/输出 其余使用“<<”实 称提取称插入 2021/224 运算符运算符 9
2021/2/24 9 流cin 标准输入流。默认设 备键盘,实现从键盘 输入数据。 流cout 标准输出流。默认设 备显示器,实现从显 示器上显示数据。 流cerr 流clog 标准错误信息输 出流。默认显示 器。 缓 冲 流 非 缓 冲 流 标准流通过重载“>>”和“>”实现 其余使用“<<”实 现 输入/输出时系 统自动完成数据 类型的转换

输入流 转换二进制数 字符序列 赋给变量 或ASCI码 输出流 转换 输出数据 字符串文件 2021/224 10
2021/2/24 10 字符序列 二进制数 或ASCII码 转换 输入流 赋给变量 输出数据 字符串 转换 输出流 文件
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山东大学:《Visual C++程序设计》第12章 类的其他特性(张晓如).ppt
- 山东大学:《Visual C++程序设计》第13章 运算符重载(张晓如).ppt
- 山东大学:《Visual C++程序设计》第11章 继承和派生类(张晓如).ppt
- 山东大学:《Visual C++程序设计》第6章 数组(张晓如).ppt
- 山东大学:《Visual C++程序设计》第8章 指针和引用(张晓如).ppt
- 山东大学:《Visual C++程序设计》第5章 函数和编译预处理(张晓如).ppt
- 山东大学:《Visual C++程序设计》第2章 数据类型、运算符和表达式(张晓如).ppt
- 山东大学:《Visual C++程序设计》第9章 类和对象(张晓如).ppt
- 山东大学:《Visual C++程序设计》第3章 简单的输入/输出(张晓如).ppt
- 山东大学:《Visual C++程序设计》第7章 结构体、共同体 和枚举类型(张晓如).ppt
- 山东大学:《Visual C++程序设计》第1章 C++概述(张晓如).ppt
- 江苏科技大学电子信息学院计算机系:《VC++实验指导书》.doc
- 江苏科技大学电子信息学院计算机系:《VC++实验指导书》(计12个实验).doc
- 山东大学:高性能感应电机电流控制研究(硕士学位论文,程金路).pdf
- 《Photoshop CS3案例教程》项目四 制作图书封面——图像编辑.ppt
- 《Photoshop CS3案例教程》项目十二 制作下雪的圣诞节动画——动作与动画.ppt
- 《Photoshop CS3案例教程》项目十三 制作旅游网页界面——应用进阶.ppt
- 《Photoshop CS3案例教程》项目十一 制作折页广告——应用通道.ppt
- 《Photoshop CS3案例教程》项目十 制作茶叶包装盒——神奇的滤镜.ppt
- 《Photoshop CS3案例教程》项目六 打造精美电脑桌面——绘画与修饰工具.ppt
- 山东大学:《Visual C++程序设计》第10章 构造函数和析构函数(张晓如).ppt
- 山东大学:《Visual C++程序设计》第4章 C++的流程控制语句(张晓如).ppt
- 《单片机相关电子图书资料》51单片机C编程.pdf
- 《单片机相关电子图书资料》精彩51单片机教程.pdf
- 《单片机相关电子图书资料》第十一章 PIC 单片机的 C 语言编程.pdf
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第10章 Visual C++编程实例.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第10讲 对象数组和指针及对象作为函数参数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第11讲 静态成员及友元.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第12讲 派生类的概念.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第13讲 派生的构造函数和析构函数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第14讲 多继承.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第15讲 赋值兼容.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第16讲 多态性与虚.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第17讲 抽象类.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第18讲 运算符重载.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第19讲 几种常见的运算符重载及类型转换函数.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第1讲 面向对象程序设计概述.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第20讲 模板.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第21讲 用指针处理链表.ppt
- 中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第21讲 模板应用.ppt