标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt

标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt

ID:50328218

大小:247.50 KB

页数:35页

时间:2020-03-08

标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt_第1页
标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt_第2页
标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt_第3页
标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt_第4页
标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt_第5页
资源描述:

《标准C++程序设计 教学课件 作者 牛连强 第12章 流与文件操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第12章 流与文件操作数据的输入输出(I/O)是程序设计中的基本操作之一。数据输入可来自于键盘、鼠标、磁盘文件等设备,而数据输出的对象可以是显示器、打印机和磁盘文件等。虽然C++允许使用C语言的输入输出函数,但也重新定义了一套旨在简化、安全和易于扩充(可编程)的I/O机制。由于C++在输入时将数据由字符序列转换为二进制的对象,在输出时由二进制的对象转换为字符序列,其结果使得数据的输入输出类似于流体的流动,故称为流式I/O技术。12.1理解流机制12.1.1流与文件I/O操作一般就是指数据在内存与文件之间的交换。磁盘文件是最常见的一类文件,但在考虑I/O操作时,计算机系统中将常用设备

2、(如显示器、键盘、打印机等)也都视为文件。目的:可以使用同样的方法来完成对这些不同目标的操作。流就是对文件的一种抽象。文件操作多是以缓冲方式进行的。这里的缓冲是指对文件数据的一种临时存储技术。12.1.2理解源、汇和iostream流控制类1.iostream类及类层次C++的几个主要的I/O控制流类定义于头文件,它们是由一组具有一定层次关系的模板类组成。⑴ios类主要内容是以枚举方式定义了一系列与I/O有关的状态标志、工作方式等常量,还包括一些控制输入输出格式的方法。ios类中定义了一个成员作为流缓冲区指针。此外,ios类还是输入流istream和输出流ost

3、ream的虚基类。⑵streambuf类此类主要负责流缓冲区的管理,定义了设置缓冲区、将输入流和输出流与缓冲区交换数据的方法。通常,用户不需要与此类打交道。⑶istream类和ostream类从ios类虚拟派生,继承了ios类的成员,主要是对C++所有内置类型重载了>>和<<运算符。⑷iostream类从istream和ostream派生,同时继承了两个类的成员,目的是能够支持输入和输出两个方向的操作。由于采用虚拟继承方式,能够保证每个iostream对象只有一份ios的拷贝。classioscout.width(10);{public:...intwidth(int);};cla

4、ssistream:virtualpublicios{...}classostream:virtualpublicios{...}classiostream:publicistream,publicostream{...}调用方法iostream类⑸分别由istream类、ostream类派生的istrstream类和ostrstream类,支持对数据在内存中的格式化。⑹分别由istream类、ostream类和ostream类派生的ifstream类、ofstream类和fstream类,支持对文件流的格式化I/O操作。istreamistrstreamifstreamiosio

5、streamfstreamofstreamostreamostrstream2.预定义的流对象头文件中定义了3个对象,代表标准设备:⑴cin。istream类的对象,代表标准输入设备,默认为键盘。⑵cout。ostream类的对象,代表标准输出设备,默认为显示器。⑶cerr。ostream类的对象,代表标准出错设备,即显示错误信息的设备,默认为显示器。源cin在程序中的角色是生产者,而汇cout扮演的是消费者。只要是C++的内置类型,都可以采用源和汇实现输入和输出。chara[100];cin>>a;cout<<"x="<

6、符数组a的定义长度是100,如果输入字符超过了99个(保留一个给系统存放’’)就会将数据写到数组之外,导致运行错误。因此要采用类方法(cin.getline)实现输入。12.2构造可流的类如果希望能像普通内置数据一样,通过C++的流来输入或输出自定义类型(如String)的数据,可以重载输入运算符>>和输出运算符<<,使自定义类成为“可流的类”。12.2.1进一步探讨cout和cin对象在C++中预定义了如下的与输入和输出有关的宏和类:stdout:代表标准输出设备(显示器)的宏;stdin:代表标准输入设备(键盘)的宏。在iostream.h中定义的两个用于实现标准输入和输出

7、的对象:istreamcin(stdin);ostreamcout(stdout);由于ostream类和istream类对每个内置类型都以友员函数重载了<<和>>,如:friendostream&operator<<(ostream&out,intsource);friendostream&operator<<(ostream&out,constchar*psource);因此,可以利用对象cout和cin正确输出和输入所有基本类型的数据。12.2.2重载输出运算符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。