- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C/C++语言程序设计辅导资料十七
主 题:课件第二十一章 流类库与输入/输出
学习时间:2012年1月23日-1月29日
内 容:
我们这周主要学习课件第二十一章流类库与输入/输出的相关内容,希望通过下面的内容能使同学们加深对本章相关知识点的理解。
知识脉络:
I/O流的概念
输出流
输入流
输入/输出流
重点与难点:
1.重点:输出流,输入流。
2.难点:输入/输出流程序设计。
一、流类库和流
1、流类库相关知识
①流类库是提供一组类,程序利用它们可以方便的与外部世界交换数据. C++的流类库是用继承的方法建立起来的一个输入输出类库。
②流类库有两个基类,即streambuf类和ios类。
③streambuf类提供对缓冲区的低级操作,如缓冲区的设置、缓冲区的读写等。
④ios类用来完成检查错误的格式化输入、输出。
2、流相关知识
①流:在数据从一个对象流动到另一个对象的过程中,无论是否对数据进行缓冲或对数据进行格式变换,这种流动都被抽象为流.
②每个流都和一种与设备相联系。与输入设备(如键盘)联系的流为输入流;与输出设备(如屏幕)联系的流为输出流。
③C++中预定义了标准输入流cin、标准输出流cout、非缓冲的出错流cerr和缓冲的出错流clog。
④在缺省情况下,标准输出设备是显示终端,标准输入设备是键盘。
⑤在任何情况下,标准错误输出设备总是显示终端。
⑤标准输出设备可以不是显示终端;但错误信息总是在显示屏幕上显示。
⑥流在使用前要被建立,在使用后要被删除,使用特定的操作能够从流中获取数据(称为提取操作),或向流中添加数据(称为插入操作)。
二、输出流
1、输出流相关知识
(1)输出流对象是信息流动的目标. ostream, ofstream和ostrstream是三个最重要的输出流.
(2)ostream类通过派生类ostream_withassign支持预先定义的流对象
cout 标准输出
①cerr 标准错误输出,没有缓冲,发给它的内容立即输出
②clog 类似于cerr,但有缓冲,缓冲区满时被输出.
(3)ofstream类支持磁盘文件输出.
(4)ostrstream类支持输出字符串。
2、文件
(1)C++把文件看成是由数据序列组成的。
(2)根据数据的组织形式,文件可以分为文本文件和二进制文件。
①文本文件也称ASCII文件,每个字节存放一个ASCII字符。
②二进制文件是将数据按在内存中的存储形式存放到磁盘上。一般二进制文件占用的空间比较少。整数10000只要2个字节。
3、在C++中,要进行文件的输入输出操作,应该:
①先创建一个流对象,如构造一个ofstream类的对象,以便进行文件的输出
②打开文件,就是将这个流对象和具体的文件相关联
③进行文件的读写操作
④关闭文件
4、构造输出流对象和打开文件
①如果输出到标准输出设备,即使用预先定义的cout、cerr、clog对象,则不需要构造流对象。要将信息输出到文件,就要构造和建立流对象。可以先构造对象,再打开文件;也可以在构造对象时,同时打开文件。
②使用缺省构造函数,再调用ofstream类的open成员函数.打开文件时要指定和对象关联文件的文件名,文件的打开方式(iosmode):ofstream对象名;对象名.open(“文件名”,iosmode);
③也可使用指针,即指向输出文件流对象的指针,通过指针调用open函数:ofstream *pmyFile = new ofstream;pmyFile-open(“filename”,iosmode);
④也可以一次操作就完成构造输出流对象和打开文件。即只调用构造函数,而不使用open函数。
⑤在调用构造函数时指定文件名和模式ofstream对象名(“文件名”,iosmode)
5、使用插入运算符和控制格式
①插入运算符是预先设计的,用来将数据输出到一个流对象。
②插入运算符与预先定义的操纵符一起工作,用来控制输出格式通过已定义的操纵符可以控制输出宽度、输出格式、输出精度等。
6、控制输出宽度
①可使用setw操纵符或width成员函数来控制每个输出项的输出宽度。
②可以对数据项指定不同的输出宽度。
③必须调用iomanip.h头文件。
7、控制输出格式
①用setiosflags操纵符来设置输出格式,输出结束后,再用resetiosflags操纵符取消设置的格式,恢复缺省的格式
②具体的格式由格式标志值指定
③可以设置的格式包括:对齐方式,数据的数制(十进、八进、十六进制)、浮点数显示格式等。
④格式标志值可以用OR运算(|)进行组合。
三、输出文件流成员函数
1、输出流成员函数有三种类型
①与操纵符等价的成员函数
②执行非格式化写操作的成员函数
③其他修改流状
文档评论(0)