- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 流类体系与文件操作 目的与要求 12.1 流类体系 12.2 文件操作 本章小结 目的与要求 通过本章学习,应理解I/O流、流类与流类体系的概念,掌握流的输入/输出控制格式。了解C++有关文件的概念及文件的使用方法,理解文件流类体系结构,掌握实现文件操作成员函数的使用方法,学会文本文件的打开、读/写、关闭等操作的编程方法。 12.1 流类体系 12.1.1 流(Stream) 1.流类:用于完成输入/输出操作的类称为流类,所有流类的集合称为流类体系(或称为流类库)。 2.流:用流类定义的对象称为流,如cin、cout等。 3.流的分类 (1)文本流:由一串ASCII字符组成 (2)二进制流:由一串二进制数组成 4.缓冲流与非缓冲流 系统在主存中开辟的用于临时存放输入/输出流信息的内存区称缓冲区 12.1.2 基本流类体系 12.1.3 标准输入输出流 1.标准输入流cin(缓冲流) 标准输入流cin通过重载“”运算符执行数据的输入操作,执行输入操作可看作为从流中提取一个字符序列。 cin 为缓冲流。 2.标准输出流cout、clog(缓冲流)、cerr(非缓冲流) 标准输出流cout、cerr、clog是通过重载“”运算符执行数据的输出操作,执行输出操作看作为向流中插入一个字符序列 。 cout、clog为缓冲流、cerr为非缓冲流。 【例12.1】 使用流cerr和clog实现数据的输出。 3.标准输出流默认设置 (1)整数:十进制、域宽为0、右对齐、以空格填充。 (2)实数:十进制、域宽为0、右对齐、以空格填充、精度6位小数、浮点输出。 (3)字符串:域宽为0、右对齐、以空格填充。按实际字符串长度输出。 12.1.4 流的格式控制 C++提供了格式控制成员函数与预定义格式控制函数供用户控制数据的输入/输出格式。 (1)格式控制成员函数 ios类定义的格式控制成员函数的调用格式为: 流对象.格式控制成员函数(实参); (2)预定义格式控制函数 C++直接提供的预定义格式控制函数的调用格式为: 预定义格式控制函数(实参) ; 1.流的输出控制格式 使用流对象cout与插入运算符“”输出数据时,格式控制主要内容有,数据输出宽度、对齐方式、精度、进制等。 数据的输出格式控制可通过格式控制成员函数与预定义格式控制函数实现。 表1 常用格式控制成员函数 表2 常用预定义格式控制函数 表3 常用预定义格式符 表4 类ios的格式控制标志 举例 2.流的输入控制格式 数据的输入是由流对象cin通过重载“”运算符来实现的。 输入数据时,要注意数据间的分隔符、数据类型的一致和回车的使用。 【例12.4】使用预定义格式控制符dec、oct、hex及输入流对象cin 输入十进制数、八进制数、十六进制数。 12.1.5数据输入输出成员函数 1.数据输入成员函数 (1)字符输入成员函数 :get() (2)字符串输入成员函数 :getline() 【例12.5】读取字符和字符串。 2.数据输出成员函数 字符输出成员函数 :put() 12.2 文件操作 12.2.1 C++文件概述 1.文件 (1)文件:由文件名标识的一组有序数据的集合称为文件。文件常放在磁盘上。 (2)文件名:由字母数字序列组成。如:myfile.txt,youfile.txt。 2.文件的数据格式 (1)二进制文件:由二进制数据组成 (2)文本文件:由字符的ASCII码组成,最小存取单位为字符。 3.文件的使用方法 (1)打开文件; (2)对文件进行读/写操作; (3)关闭文件。 12.2.2 C++的文件流类体系 12.2.3 文件的使用方法 1.定义文件流对象 (1)读文件流对象定义格式: ifstream 读文件流; 例如:ifstream infile; //infile为读文件流对象 (2)写文件流对象定义格式: ofstream 写文件流; 例如:ofstream outfile; //outfile为写文件流对象 (3)读/写文件流对象定义格式: fstream 读/写文件流; 例如:fstream iofile; //iofile为读/写文件流对象 2.打开文件 (1)使用成员函数open()打开文件 打开文件的格式为: 文件流对象.open(“文件名”,ios::
文档评论(0)