C++程序设计(第二版)第9章流类库与输入输出

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.3.1 输入流
当遇到流结束标志EOF(-1)或者提取了一个无效的值 试图复制给对象时,提取运算符返回NULL(false)给 cin,否则返回cin流对象的引用。因此提取运算符可以 连用。
当输入流提取了一个无效值给对象时,比如:输入 类型错时,除了返回出错信息false给cin外,还会设置 流的failbit状态位,结束提取操作。
9.1 流的概念
在C++中,I/O可以分为三类:面向标准设备的I/O、 面向文件的I/O、面向字符串的I/O。
面向标准设备的I/O是指程序从键盘获取数据,向显 示器输出数据;
面向文件的I/O是指程序从文件中获取数据,把数据 保存到文件中;
面向字符串的I/O是指程序从字符串中获取数据,把 数据保存到字符串中。
9.3.1 输入流
istream 类提供了格式化和非格式的输入功能。常用的 输入方法是在标准输入流对象cin上使用提取运算符”>>”。 从与键盘相连的标准输入流cin中提取数据并赋值给相应的 对象,提取运算符返回cin流对象的引用,因此提取运算符 可以连用。
cin>>变量名1>>变量名2…>>变量名n; 数据的提取是从输入回车开始的,提取运算符忽略了流 中的空格、制表符、Enter键等空白字符。
学习内容: 1.了解C++流的概念、C++流类体系及常用流对象 2.掌握标准设备输入输出操作,两种格式控制方法以及状 态字的使用 3.理解文件的概念、文本文件和二进制文件的区别,掌握 两类文件的输入/输出。 4.理解字符串流的的概念,掌握字符串流的输入/输出。
第9章 流类库与输入/输出
9.1 流的概念 9.2 C++的基本流类体系 9.3 标准设备的输入/输出 9.4 流的格式控制 9.5 文件的输入/输出 9.6 字符串流的输入/输出 9.7 文件应用实例
9.1 流的概念
程序与外部进行信息交换时,流负责将程序中的对象和文 件对象建立联系,并管理数据的流动。程序中的对象操作 流对象,流对象连接文件对象。对程序而言,文件对象有 的特性,流对象也有,所以在程序中,就将流对象看作是 文件对象。
操作系统将键盘、屏幕、打印机和通信端口等设备作为扩 展文件处理的,因此,从C++程序的角度来看,这些设备 与磁盘文件并无区别,因此与这些设备的交互也是通C++ 的I/O流类来实现的。
9.3.3-1 标准输入流成员函数
函数原型
int get()
istream& get(char& ch)
istream& get(char* buf, int nCount,char delim=’\n’ )
含义
提取字符(包括空格),然后返回 该字符的值。若没有读到字符, 返 回 EOF , 并 设 置 流 对 象 的 failbit标志。 提取字符(包括空格)给ch,返回 istream对象的引用。
9.2.2 标准流对象
四个流对象均是文 本流对象,主要工 作是完成程序中的 数据与外部设备的 传输及数据格式的 转换。
键盘 istream cin
显示器 ostream cout
程序
9.3 标准设备的输入/输出
9.3.1 输入流 9.3.2 输出流 9.3.3 标准输入/输出函数成员 9.3.4数据流的错误检测
[例9-1]输入流对象cin的使用
9.3.2 输出流
ostream类提供了格式和非格式的输出功能。常用的输 出方法是在标准输出流对象cout上使用插入运算符”<<”。
cout<<变量名1|表达式1<<…<<变量名n|表达式n; 插入运算符返回cout流对象的引用,所以插入运算符 也可以连用。
[例9-2]输出流对象cout的使用。
9.2 C++的基本流类体系
9.2.百度文库 流类库 9.2.2 标准流对象
9.2.1 流类库
C++的流类库是用继承方式建立起来的一个输入/输出 类库。由抽象类ios及其派生类构成ios类体系,共同完成 I/O操作。
9.2.1 流类库
ios类是抽象类,主要提供I/O所需的公共操作。 其派生的iostream、fstream、strstream类分别提 供标准设备、文件、字符串三类对象的I/O功能。这 些流类有着相似的接口,程序能够以较为一致的方 式使用这些流类,实现不同对象的I/O,从而使得整 个I/O流类库具有较好的一致性、可扩展性。
9.2.2 标准流对象
C++的流类库中预定义了四个全局流对象: cin 标准输入流对象, istream类的实例,键盘为其 标准设备。通过流提取运算符>>,从键盘上输入数 据 cout 标准输出流对象, ostream类的实例,显示器 为其标准设备。通过流插入运算符<<,可以将数据 输出至显示器 cerr、clog 标准错误输出流,输出设备是显示器。
第9章 流类库与输入/输出
输入/输出是程序必不可少的部分,C++程 序的输入/输出操作是由I/O流类库实现的。流 类库定义了一批流对象,连接常用的外部设备, 如键盘、显示器等。程序员也可以自定义I/O流 对象,与磁盘文件、字符串等对象连接。使用 流类库提供的函数,实现数据传输。
第9章 流类库与输入/输出
int gcount()
istream& ignore(int nCount=1,char delim=EOF)
int peek();
含义
最多提取nCount-1个字符给buf, 遇结束符delim或到达文件结束, 则停止提取。存入buf中的字符 串以0结尾,delim不存入buf。
9.1 流的概念
C++语言本身并不包含输入输出功能,但C++标准库提 供了一系列输入输出流类,通过流类完成数据的输入输出。
在C++中,将数据从一个对象到另一个对象的传输抽象为 “流”。从流中获取数据的操作称为提取操作,向流中添 加数据的操作称为插入操作,数据的输入与输出就是通过 I/O流来实现的。
最多提取nCount-1个字符给buf, 遇结束符delim或到达文件结束, 则停止提取。存入buf中的字符 串以0结尾,delim不存入buf。
9.3.3-1 标准输入流成员函数
函数原型 istream& getline(char* buf,int nCount,char delim=’\n’)
相关文档
最新文档