上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第14章 输入输出与文件

《程序设计》csu20119 第14章输入输出与文件 冷输入输出是指程序与外部设备交换信息 令C++把输入输出看成是一个数据流 输入流:外围设备流向内存的数据 令输出流:内存流向外围设备的数据 冷在C++中,输入输出不是语言所定义的部分, 而是由标准库提供。 冷C++的输入输出分为 >基于控制台的ⅣO >基于文件的ⅣO >基于字符串的/O 程序设计-1
《程序设计》 cs.sjtu 2011.9 程序设计 - 1 第14章 输入输出与文件 ❖ 输入输出是指程序与外部设备交换信息 ❖ C++把输入输出看成是一个数据流 ❖ 输入流:外围设备流向内存的数据 ❖ 输出流:内存流向外围设备的数据 ❖ 在C++中,输入输出不是语言所定义的部分, 而是由标准库提供。 ❖ C++的输入输出分为: ➢ 基于控制台的I/O ➢ 基于文件的I/O ➢ 基于字符串的I/O

《程序设计》 cs.stu20119 输入输出与文件 冷流与标准库 冷输入输出缓冲 令基于控制台的O 基于文件的JO 基于字符串的I/O 程序设计-2
《程序设计》 cs.sjtu 2011.9 程序设计 - 2 输入输出与文件 ❖ 流与标准库 ❖ 输入输出缓冲 ❖ 基于控制台的I/O ❖ 基于文件的I/O ❖ 基于字符串的I/O

《程序设计》 cs.stu20119 流的概念及用途 冷ⅣO操作是以对数据类型敏感的方式执行的。C+的/O操 作是以字节流的形式实现的。流实际上就是字节序列。 冷C+提供了低级和高级ⅣO功能。低级O功能通常只在设 备和内存之间传输一些字节。高级ⅣO功能把若干个字节组 合成有意义的单位,如整数、浮点数、字符、字符串以及 用户自定义类型的数据。 令C+提供了无格式ⅣO和格式化ⅣO两种操作。无格式ⅣO传 输速度快,但使用起来较为麻烦。格式化ⅣO按不同的类型 对数据进行处理,但需要增加额外的处理时间,不适于处 理大容量的数据传输
《程序设计》 cs.sjtu 2011.9 程序设计 - 3 流的概念及用途 ❖ I/O操作是以对数据类型敏感的方式执行的。C++的I/O操 作是以字节流的形式实现的。流实际上就是字节序列。 ❖ C++提供了低级和高级I/O功能。低级I/O功能通常只在设 备和内存之间传输一些字节。高级I/O功能把若干个字节组 合成有意义的单位,如整数、浮点数、字符、字符串以及 用户自定义类型的数据。 ❖ C++提供了无格式I/O和格式化I/O两种操作。无格式I/O传 输速度快,但使用起来较为麻烦。格式化I/O按不同的类型 对数据进行处理,但需要增加额外的处理时间,不适于处 理大容量的数据传输

《程序设计》 cs.stu20119 流与标准库 头文件类型 iostream istream从流中读取 ostream写到流中去 iostream对流进行读写,从 istream和 ostream派生 fstream ifstream从文件中读取,由 istream派生而来 ofstream写到文件中去,由 ostream派生而来 fstream对流进行读写,由 iostream派生而来 sstream istringstream从 string对象中读取,由iram派生而来 ostringstream写到ting对象中去,由 ostream派生而来 stringstream对 string对象进行读写,由 ostream派生而来 程序设计-4
《程序设计》 cs.sjtu 2011.9 程序设计 - 4 流与标准库 头文件 类型 iostream istream从流中读取 ostream写到流中去 iostream对流进行读写,从istream和ostream派生 fstream ifstream从文件中读取,由istream派生而来 ofstream写到文件中去,由ostream派生而来 fstream对流进行读写,由iostream派生而来 sstream istringstream从string对象中读取,由istream派生而来 ostringstream写到string对象中去,由ostream派生而来 stringstream对string对象进行读写,由iostream派生而来

《程序设计》 cs.stu20119 类的继承关系 lOS istream ostream istringstream ifstream iostream ofstream ostringstream fstream stringstream 程序设计
《程序设计》 cs.sjtu 2011.9 程序设计 - 5 类的继承关系 ios istream ostream ifstream iostream ofstream fstream istringstream ostringstream stringstream

《程序设计》 cs.stu20119 输入输出与文件 冷流与标准库 冷输入输出缓冲 令基于控制台的O 基于文件的JO 基于字符串的I/O 程序设计-6
《程序设计》 cs.sjtu 2011.9 程序设计 - 6 输入输出与文件 ❖ 流与标准库 ❖ 输入输出缓冲 ❖ 基于控制台的I/O ❖ 基于文件的I/O ❖ 基于字符串的I/O

《程序设计》 cs.stu20119 输入输出缓冲 冷C+的输入输出是基于缓冲实现的 每个O对象管理一个缓冲区,用于存储程序读写的数据 冷当用户在键盘上输入数据时,键盘输入的数据是存储在输 入缓冲区中,当执行“>>”操作时,从输入缓冲区中取数据 存入变量,如缓冲区中无数据,则等待从外围设备取数据 放入缓冲区 <”是将数据放入输出缓冲区。如有下列语句 0s<<“ please enter the value:”; 系统将字符串常量存储在与流o关联的缓冲区中 程序设计-7
《程序设计》 cs.sjtu 2011.9 程序设计 - 7 输入输出缓冲 ❖ C++的输入输出是基于缓冲实现的 ❖ 每个I/O对象管理一个缓冲区,用于存储程序读写的数据 ❖ 当用户在键盘上输入数据时,键盘输入的数据是存储在输 入缓冲区中,当执行“>>”操作时,从输入缓冲区中取数据 存入变量,如缓冲区中无数据,则等待从外围设备取数据 放入缓冲区 ❖ “<<”是将数据放入输出缓冲区。如有下列语句: os << “please enter the value:”; 系统将字符串常量存储在与流os关联的缓冲区中

《程序设计》cs.sj2011.9 输出缓冲区的刷新 冷程序正常结束。作为main函数返回工作的一部分,将真正 输出缓冲区的内容,清空所有的输出缓冲区 当缓冲区已满时,在写入下一个值之前,会刷新缓冲区 冷用标准库的操纵符,如行结束符endl,显式地刷新缓冲区 冷在每次输出操作执行结束后,用 unitbuf操纵符设置流的内 部状态,从而清空缓冲区; 冷可将输出流与输入流关联起来。在这种情况下,在读输入流 时,将刷新其关联的输出缓冲区。在标准库中,将cout和cin 关联在一起,因出每个输入操作都将刷新cout关联的缓冲区 程序设计-8
《程序设计》 cs.sjtu 2011.9 程序设计 - 8 输出缓冲区的刷新 ❖ 程序正常结束。作为main函数返回工作的一部分,将真正 输出缓冲区的内容,清空所有的输出缓冲区; ❖ 当缓冲区已满时,在写入下一个值之前,会刷新缓冲区; ❖ 用标准库的操纵符,如行结束符endl,显式地刷新缓冲区; ❖ 在每次输出操作执行结束后,用unitbuf操纵符设置流的内 部状态,从而清空缓冲区; ❖ 可将输出流与输入流关联起来。在这种情况下,在读输入流 时,将刷新其关联的输出缓冲区。在标准库中,将cout和cin 关联在一起,因此每个输入操作都将刷新cout关联的缓冲区

《程序设计》 cs.stu20119 输入输出与文件 冷流与标准库 冷输入输出缓冲 令基于控制台的O 基于文件的JO 基于字符串的I/O 程序设计-
《程序设计》 cs.sjtu 2011.9 程序设计 - 9 输入输出与文件 ❖ 流与标准库 ❖ 输入输出缓冲 ❖ 基于控制台的I/O ❖ 基于文件的I/O ❖ 基于字符串的I/O

《程序设计》 cs.stu20119 基于控制台的MO 标准的输入输出流对象 cin是类 istream的对象,它与标准输入设备(通常指 键盘连在一起。 >cout是类 ostream的对象,它与标准输出设备(通常指 显示设备连在一起。 cerr是类 steam的对象,它与标准错误输出设备连 在一起。 clog是类 ostream的对象,它与标准错误输出设备连 在一起。 程序设计-10
《程序设计》 cs.sjtu 2011.9 程序设计 - 10 基于控制台的I/O ❖ 标准的输入输出流对象 ➢ cin是类istream的对象,它与标准输入设备(通常指 键盘)连在一起。 ➢ cout是类ostream的对象,它与标准输出设备(通常指 显示设备)连在一起。 ➢ cerr是类osteam的对象,它与标准错误输出设备连 在一起。 ➢ clog是类ostream的对象,它与标准错误输出设备连 在一起
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第5章 指令级并行.pptx
- 档案数字化基本程序与要求(PPT讲稿).ppt
- Computer Graphics(PPT讲稿)INFORMATION VISUALIZATION.pptx
- 北京大学:C++模板与STL库介绍(PPT讲稿).ppt
- 《数据库基础》课程教学资源(PPT课件讲稿)第四章 数据查询.ppt
- 《网络搜索和挖掘关键技术 Web Search and Mining》课程教学资源(PPT讲稿)Lecture 08 Scoring and results assembly.ppt
- 上海海事大学:《数字图像处理》课程教学资源(PPT课件讲稿)Unit 7 Introduction to Digital Image Processing.ppt
- Performance Evaluation of Long Range Dependent Queues(PPT讲稿).pptx
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第二章 基本数据类型及运算.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)模式&框架 Pattern & Framework.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第二讲 关系数据库.ppt
- 《计算机辅助设计》课程介绍.pdf
- 沈阳工程学院:《面向对象程序设计》课程教学大纲(适用专业:计算机科学与技术专业).pdf
- 《编译原理》课程教学资源(PPT课件讲稿)从正则表达式到有限自动机.pptx
- Introduction to Computing Using Java(PPT讲稿)Java Language Basics.ppt
- 《物联网导论》课程教学资源(PPT课件讲稿)第2章 自动识别技术与RFID.ppt
- 《计算机维修》课程教学资源(PPT课件讲稿)第3章 磁盘工具.ppt
- 《数据结构》课程PPT教学课件(讲稿)第一章 数据结构基础.ppsx
- 华北科技学院:图像的采集与处理(PPT课件讲稿)Photoshop CS.ppt
- 《JAVA与面向对象编程》课程教学资源(PPT课件讲稿)第二章 Java语法基础.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第7章 多处理器及线程级并行.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第五章 语法制导的翻译.ppt
- 河南中医药大学:《网络技术实训》课程教学资源(PPT课件讲稿)第一阶段 组网(主讲:路景鑫).pptx
- 《SQL基础教程》课程教学资源(PPT课件讲稿)第6章 数据操作与SQL语句.ppt
- 《计算机基础及C语言程序设计》课程PPT教学课件(讲稿)第1章 概论.ppt
- 西安交通大学:《网络与信息安全》课程PPT教学课件(网络入侵与防范)身份认证.ppt
- 《计算机网络和因特网》教学资源(PPT讲稿)网络互连(概念, IP 地址, IP 路由, IP 数据报, 地址解析).ppt
- 《高级语言程序设计》课程教学资源(试卷习题)试题四(无答案).doc
- 上海交通厌:《通信网络》课程教学资源(PPT讲稿)DELAY MODELS IN DATA NETWORKS、LITTLE’S LAW、ARRIVAL MODEL、M/M/X QUEUING MODELS.pptx
- 《软件工程》课程教学资源(PPT课件讲稿)第7章 软件测试.ppt
- 《计算机网络安全》课程教学资源(PPT课件讲稿)第二章 密码学技术.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)语法分析 Syntax analysis(自底向上分析 Bottom-Up Parsing).ppt
- 中国人民大学:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第四章 存储器.ppt
- 随机图与复杂网络(PPT讲稿)随机演化博弈的算法研究及其在复杂网络中的应用.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 3 Process Description and Control.ppt
- 《软件工程》课程教学资源(PPT课件讲稿)第3章 软件需求分析.ppt
- 《PHP程序设计》教学资源(PPT课件讲稿)项目四 面向对象网站开发.ppt
- 数据挖掘实现的住院病人的实时预警(PPT讲稿)Real-Time Clinical Warning for Hospitalized Patients via Data Mining.pptx
- 《机器学习》课程教学资源(PPT课件讲稿)第六章 特征降维和选择.ppt