欢迎来到天天文库
浏览记录
ID:41059319
大小:282.00 KB
页数:20页
时间:2019-08-15
《面向对象程序设计语言(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十一章IO流与文件系统丘志杰电子科技大学计算机学院软件学院I/O系统的作用应用程序I/O系统磁盘键盘显示器文件文件I/O系统为程序与I/O设备之间进行数据交互提供了途径。10/7/20212电子科技大学计算机学院软件学院C++为何有自己的I/O系统C语言的标准输入输出函数和只能处理基本数据类型,对用户自定义类型无能为力。C++可以重载输入输出运算符,能够处理用户自定义类型。C++采用继承方式来设计流库,功能更强大,扩充性更好。10/7/20213电子科技大学计算机学院软件学院C++流库的结构C++
2、流库是从继承方法建立起来的一个输入/输出类库,它具有两个平行的基类,即streambuf类和ios类,所有其他的流类都是从它们直接或间接地派生出来的。streambuf类提供对缓冲区的低级操作:streambuffilebufstrstreambufconbuf10/7/20214电子科技大学计算机学院软件学院ios类及其派生类提供用户使用流类的接口:iosistreamostreamfstreambasestrstreambaseifstreamistrstreamofstreamostrstre
3、amconstreamfstreamstrstreamiostreamistream-withassignostream-withassigniostream-withassign10/7/20215电子科技大学计算机学院软件学院有关头文件和预定义流对象包含常用流类声明的头文件:iostream.h——支持标准I/0操作fstream.h——支持文件I/0操作strstream.h——支持串I/0操作iomanip.h——支持大多数流操纵符当开始执行C++程序时,有几个自动打开的预定义流:cin——
4、标准输入cout——标准输出cerr——不带缓冲标准出错信息输出clog——带缓冲标准出错信息输出10/7/20216电子科技大学计算机学院软件学院输入和输出istream和ostream是用户使用流库的主要界面之一。istream提供了主要的输入操作,可以通过istream完成如下操作:从输入流中获取单个字符。从输入流中获取一行数据。从输入流中获取指定字节数的数据。将文件指针移动到指定位置,等等。10/7/20217电子科技大学计算机学院软件学院ostream提供了主要的输出操作,可以通过ostr
5、eam完成如下操作:刷新输出流。向输出流中写入指定字节数的数据。将文件指针移动到指定位置,等等。istream和ostream分别重载了>>和<<两个运算符,用户可以很方便地使用这两个运算符对预定义类型进行输入和输出。用户也可以重载这两个运算符,从而能够输入和输出自定义类的对象。10/7/20218电子科技大学计算机学院软件学院格式控制C++提供了两种格式控制的方法:使用操作符使用ios类中实现格式控制的成员函数10/7/20219电子科技大学计算机学院软件学院使用操作函数控制格式C++I/O流库提
6、供了一些操作符(如下表所示),可以直接嵌入到输入/输出语句中来实现特殊格式的控制。10/7/202110电子科技大学计算机学院软件学院操纵符含义I/Odec以十进制为基I/Ooct以八进制为基I/Ohex以十六进制为基I/Ows提取输入中的空白inputendl插入换行并刷新流outputends在串后插入终止符outputflush刷新流outputsetbase(int)设置基(0,8,10,16)outputresetiosflags(long)清除参数指定的格式位I/Osetiosflags
7、(long)设置参数指定的格式位I/Osetfill(int)设置填充字符I/Osetprecision(int)设置显示精度I/Osetw(int)设置显示域宽I/O10/7/202111电子科技大学计算机学院软件学院例子voidmain(){inta=100;cout<8、格式状态标志来确定。这些状态标志在状态量中各占一位,它们在ios类中定义为枚举量,如下表所示。这些成员函数的功能包括:设置格式状态标志(setf)清除格式状态标志(unsetf)获取格式状态标志(flag)设置域宽、填充字符和设置精度(width、fill、precision等)10/7/202113电子科技大学计算机学院软件学院状态标志含义I/Oskipws跳过输入中的空白inputleft左对齐输出outputright右对齐输出outputinternal在引导
8、格式状态标志来确定。这些状态标志在状态量中各占一位,它们在ios类中定义为枚举量,如下表所示。这些成员函数的功能包括:设置格式状态标志(setf)清除格式状态标志(unsetf)获取格式状态标志(flag)设置域宽、填充字符和设置精度(width、fill、precision等)10/7/202113电子科技大学计算机学院软件学院状态标志含义I/Oskipws跳过输入中的空白inputleft左对齐输出outputright右对齐输出outputinternal在引导
此文档下载收益归作者所有