第14篇 输入输出流类库.pptVIP

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章 I/O流类库 14.1 输入/输出流类的结构 14.2 文件流类 14.3 串流类 14.4 格式控制 14.5 流类成员函数的使用 14.6 数据文件的输入/输出操作 C和C++语言都没有中没有提供专门的输入输出语句。 C++中的I/O操作是通过一组标准I/O函数和I/O流来实现的。 C++的标准I/O函数是从C语言继承而来的,同时对C语言的标准I/O函数进行了扩充。 C++的I/O流不仅拥有标准I/O函数的功能,而且比标准I/O函数功能更强、更方便、更可靠。 14.1 输入/输出流类的结构 14.1.1 iostream类库的头文件 流——字节流,即字节序列。 在输入操作中,字节从输入设备(如键盘、磁盘、网络连接等)流向内存; 在输出操作中,字节从内存流向输出设备(如显示器、打印机、磁盘、网络连接等)。 C++的iostream类库提供了数百种功能,iostream类库的接口部分包含在几个头文件中。 头文件iostream.h包含了操作所有输入/输出流所需的基本信息,因此大多数C++程序都应包含这个头文件。 头文件iostream.h含有cin、cout、cerr、clog四个对象,分别对应标准输入流、标准输出流、非缓冲和缓冲的标准错误流。该头文件提供无格式I/O和格式化I/O功能。 14.1.2 输入/输出流类和对象 1.输入/输出流类 (1) iostream类库包含了许多用于处理I/O操作的类。其中,类istream支持流输入操作,类ostream支持流输出操作,类iostream同时支持流输入和输出操作。 (2) 类istream和类ostream是通过单一继承从基类ios派生而来的。类iostream是通过多重继承从类istream和ostream派生而来的。其继承的层次结构如下图所示。 2.运算符重载与流类和对象 运算符重载为完成输入/输出提供了方便的途径。重载的左移位运算符()表示流的输出,称为流插入运算符;重载的右移位运算符()表示流的输入,称为流读取运算符。这两个运算符可以和标准流对象cin、cout、cerr、clog以及用户自定义的流对象一起使用。 (1) cin是类istream的对象,它与标准输入设备(通常指键盘)连在一起。下面的语句用流读取运算符cin(通常是键盘)读取整型值输入到内存中的nGrade变量(假设nGrade为int类型)中。 cinnGrade; 注意:读取运算符完全能够识别所处理的数据类型。假设已经正确声明了nGrade的类型,那么没有必要为指明数据类型而给流读取运算符添加类型信息。 (2) cout是类ostream的对象,它与标准输出设备(通常指显示设备)连在一起。下面的语句用流插入运算符cout把整型变量nGrade的值从内存输出到标准输出设备上。 coutnGrade; 同cin一样, 流插入运算符cout完全能够识别所处理的数据类型。 (3) cerr是类ostream的对象,它与标准错误输出设备连在一起。到对象cerr的输出是非缓冲输出,也就是说插入到cerr中的输出会立即显示出来,非缓冲输出可迅速把出错信息告诉用户。 (4) clog是类ostream的对象,它与标准错误输出设备连在一起。到对象clog的输出是缓冲输出。即每次插入clog可能使其输出保持在缓冲区,要等缓冲区刷新时才输出。 14.1.3 输出流 C++的ostream类提供了格式化输出和无格式输出的功能。输出功能包括: (1) 用流插入运算符输出标准类型的数据; (2) 用成员函数put输出字符; (3) 用成员函数write无格式输出;输出十进制、八进制、十六进制格式的整数; (4) 输出各种精度的浮点数; (5) 输出在域宽内用指定字符填充空位的数据等等。 下面的例子为使用流插入运算符(即重载的运算符)实现流的输出。 例14.1 演示用流插入运算符输出实例 //演示用流插入运算符输出 #includeiostream.h int main() { coutwelcome to C++!\n; coutwelcome to ; coutc++!; coutendl; cout(34+52); coutendl; cout34+52 = (34+52)endl; return 0; } C++的输入/输出流能够自动判别数据类型。但是有时候还得使用类型信息。例如,对于字符串char*类型,假定需要输出其指针的值,即字符串中第一个字符的地址,如果用重载运算符输出,则只是以空(null)字符结尾的char*类型的字符串。这个

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档