欢迎来到天天文库
浏览记录
ID:59448049
大小:168.50 KB
页数:54页
时间:2020-09-18
《c++面向对象程序设计教案 输入输出ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章输入输出流C++的流库及基本结构预定义类型的输入输出文件操作和文件流字符串流9.1基本概念输入输出的含义从操作系统的角度看,每一个与主机相连的输入输出设备都被看作一个文件。除了以终端为对象进行输入和输出外,还经常用磁盘(光盘)作为输入输出对象。程序的输入指的是从输入文件将数据传送给程序;程序的输出指的是从程序将数据传送给输出文件。C++的I/O对C的发展类型安全可扩展性C++的输入与输出包括3方面的内容:(1)标准I/O:对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出
2、称为标准的输入输出。(2)文件I/O:以外存磁盘文件为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件。以外存文件为对象的输入输出称为文件的输入输出。(3)串I/O:对内存中指定的空间进行输入和输出。通常指定一个字符数组作为存储空间(实际上可以利用该空间存储任何信息)。这种输入和输出称为字符串输入输出。9.2C++的流库及其结构C++流库结构每个流都是一种与设备相联系的既有状态,又有操作的对象,即流对象。对流对象进行抽象就得到流类,流类形成的层次结构就构成流类库(或流库)。C++流库主要由两个流类
3、层次组成:以streambuf类为父类的类层次主要完成信息通过缓冲区的交换。以ios类为父类的类层次在streambuf类实现功能的基础上,增加了各种格式化的输入/输出控制方法。ios类层次结构ios类及其派生类是在streambuf类实现的通过缓冲区的信息交换的基础上,进一步增加了各种格式化的输入/输出控制方法。它们为用户提供使用流类的接口,它们均有一个指向streambuf的指针。ios类有四个直接派生类:istreamostreamfstreambasestrstreambase这四种流作为流库中的基本
4、流类。与iostream类库有关的头文件iostream包含了对输入输出流进行操作所需的基本信息。定义了四种流对象,cin,cout,cerr,clogfstream用于用户管理的文件的I/O操作。strstream用于字符串流I/O。stdiostream:用于混合使用C和C++的I/O机制时。iomanip:在使用格式化I/O时应包含此头文件。在iostream头文件中重载运算符对位移运算符“<<”和“>>”进行重载在istream和ostream类中分别有一组成员函数对位移运算符“<<”和“>>”进行重
5、载,以便能用它输入或输出各种标准数据类型的数据。对于不同的标准数据类型要分别进行重载,如ostreamoperator<<(int);//用于向输出流插入一个int数据ostreamoperator<<(float);//用于向输出流插入一个float数据ostreamoperator<<(char);//用于向输出流插入一个char数据ostreamoperator<<(char*);//用于向输出流插入一个字符串数据。运算符“<<”和“>>”指出了数据移动的方向,例如>>a箭头方向表示把数据放入a中。而<
6、>流提取符“>>”从流中提取数据时通常跳过输入流中的空格、换行符等空白字符。因此,对一组变量输入值时可以空格和换行符将数值之间隔开。inti;floatx;cin>>i>>x;2356.78数据输入时,系统除检查是否有空白外,还检查输入数据与变量的匹配情况。如:cin>>i>>x;输入为:56.7932.5结果为:i=56;x=0.79标准输出流标准输出流是流向标准输出设备(显示器)的数据。
7、ostream类定义了3个输出流对象,即cout,cerr,clog。cout流通常是传送到显示器输出,但也可以被重定向输出到磁盘文件,而cerr流中的信息只能在显示器输出。clog(consolelog)流对象也是标准错误流,作用和cerr相同,都是在终端显示器上显示出错信息。区别:cerr是不经过缓冲区,直接向显示器上输出有关信息,而clog中的信息存放在缓冲区中,缓冲区满后或遇endl时向显示器输出格式输出使用控制符控制输出格式包含头文件iomanip输出数据的控制符见书p282用流对象的成员函数控制输
8、出格式例用控制符控制输出格式。#include#include//不要忘记包含此头文件usingnamespacestd;intmain(){inta;cout<<″inputa:″;cin>>a;cout<<″dec:″<
此文档下载收益归作者所有