- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第九章输入/输出流
学习目标
理解如何使用输入/输出流。
掌握格式化输入/输出。
掌握如何输入/输出用户自定义类型数据。
掌握文件的顺序/随机处理方式。
计算机科学与工程学院
C++流类库简介
cin,表示标准输入的istream类对象。cin从终端读入数据。
cout,表示标准输出的ostream类对象。cout向终端写数据。
cerr,表示标准错误输出(非缓冲方式),导出程序错误消息。
clog,表示标准错误输出(缓冲方式),导出程序错误消息。
为了在程序中使用cin/cout,必须在程序中包含iostream库
的相关头文件
#includeiostream
计算机科学与工程学院
C++流类库简介
iostream类同时从istream(输入流)类和ostream(输出
流)类派生而来,允许双向输入/输出。输入由重载的操作
符完成,输出由重载的操作符来完成。
cin变量名;
cout变量名或常量;
[例9-1]简单I/O举例。
计算机科学与工程学院
C++流类库简介
除了用户终端的输入/输出,C++还提供了文件的输入/
输出类:
ifstream,从istream派生而来,把文件绑定到程序上输入;
ofstream,从ostream派生而来,把文件绑定到程序输出;
fstream,从iostream派生而来,把文件绑定到程序输入/输出。
使用iostream库的文件流,必须包含相关的头文件:
#includefstream
[例9-2]文件读写举例。
计算机科学与工程学院
C++流类库简介
几个常用的流类库层次结构如图
计算机科学与工程学院
输入/输出流
流输出可以用流插入运算符——即重载的(左移位运算
符)来完成。运算符左边的操作数是istream类的一个
对象(如cout),右边可以是C++的合法表达式。
[例9-3]用插入运算符实现流输出。
[例9-4]函数调用作输出操作符的实参。
[例9-5]简单输出实例1。
[例9-6]简单输出实例2。
计算机科学与工程学院
基本输入流
流输入可以用流读取运算符——即重载的(右移位运算
符)来完成。
注意:
输入运算符也支持级联输入。在默认情况下,运算符跳过空格,读
入后面与变量类型相应的值。因此给一组变量输入值时,用空格或换行
将输入的数值间隔开,例如:
inti;
floatf;
cinif;
当从键盘输入1012.34
计算机科学与工程学院西安理工大学
基本输入流
当输入字符串(char*类型)时,输入运算符会跳过空
格,读入后面的非空格符,直到遇到另外一个空格结束,
并在字符串末尾自动放置字符‘\0’作为结束标志,例如:
chars[20];cins;当输入Hello!world!
数据输入时,不仅检查数据间的空格,还做类型检查、自
动匹配,例如:
inti;floatf;cinif;
如果输入12.3434.56
计算机科学与工程学院西安理工大学
格式化输入/输出
ios类成员函数控制格式
设置状态标志
设置状态标志可使用longios::setf(longflags)函数,使用格式如下:
stream_obj.setf(ios::enum_type);
例如:cout.setf(ios::dec);
清除状态标志
清除状态标志可使用longios::unsetf(
文档评论(0)