c++14输入输出流.ppt
《c++14输入输出流.ppt》由会员分享,可在线阅读,更多相关《c++14输入输出流.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十四章 输入输出流中北大学电子与计算机科学技术学院C+程序设计基础 乔志会1 C的输入和输出的输入和输出一、输入输出的含义输入输出的含义(1)对系统指定的标准设备的输入和输出。即从键对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准标准的输入输出,简称标准I/O。(2)以外存磁盘文件为对象进行输入和输出。即从以外存磁盘文件为对象进行输入和输出。即从磁盘文件输入数据,数据输出到磁盘文件。以外存文磁盘文件输入数据,数据输出到磁盘文件。以外存文件为对象的输入输出称为文件的输入输出,简称文件件为
2、对象的输入输出称为文件的输入输出,简称文件I/O。(3)对内存中指定的空间进行输入和输出。通常指对内存中指定的空间进行输入和输出。通常指定一个字符数组作为存储空间定一个字符数组作为存储空间(实际上可以利用该空实际上可以利用该空间存储任何信息间存储任何信息)。这种输入和输出称为字符串输入。这种输入和输出称为字符串输入输出,简称串输出,简称串I/O。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会二、C+的的I/O对对C的发展的发展类型类型安全和可扩展性安全和可扩展性在在C+的输入输出中,编译系统对数据类型进行的输入输出中,编译系统对数据类型进行严格的检查,凡是类型不正确的数据都不可能通严
3、格的检查,凡是类型不正确的数据都不可能通过编译。因此过编译。因此C+的的I/O操作是类型安全操作是类型安全(type safe)的。的。C+的的I/O操作是可扩展的,不仅可以用来输入输操作是可扩展的,不仅可以用来输入输出标准类型的数据,也可以用于用户自定义类型出标准类型的数据,也可以用于用户自定义类型的数据。的数据。C+通过通过I/O类库来实现丰富的类库来实现丰富的I/O功能。功能。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会三、C+的输入输出流的输入输出流C+的输入输出流是指由若干字节组成的字节序列,的输入输出流是指由若干字节组成的字节序列,这些字节中的数据按顺序从一个对象传送到
4、另一这些字节中的数据按顺序从一个对象传送到另一对象。对象。流中的内容可以是流中的内容可以是ASCII字符、二进制形式的数据、字符、二进制形式的数据、图形图像、数字音频视频或其他形式的信息。图形图像、数字音频视频或其他形式的信息。在内存中为每一个数据流开辟一个内存缓冲区,在内存中为每一个数据流开辟一个内存缓冲区,用来存放流中的数据。流是与内存缓冲区相对应用来存放流中的数据。流是与内存缓冲区相对应的,或者说,缓冲区中的数据就是流。的,或者说,缓冲区中的数据就是流。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会三、C+的输入输出流的输入输出流在在C+中,输入输出流被定义为类。中,输入输出流
5、被定义为类。C+的的I/O库库中的类称为流类中的类称为流类(stream class)。用流类定义的对用流类定义的对象称为流对象。象称为流对象。cout和和cin并不是并不是C+语言中提供的语句,它们是语言中提供的语句,它们是iostream类的对象,在未学习类和对象时,在不致类的对象,在未学习类和对象时,在不致引起误解的前提下,为叙述方便,把它们称为引起误解的前提下,为叙述方便,把它们称为cout语句和语句和cin语句。语句。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会三、C+的输入输出流的输入输出流1 1、iostreamiostream类库中有关的类类库中有关的类中北大学电子
6、与计算机科学技术学院C+程序设计基础 乔志会三、C+的输入输出流的输入输出流2 2、iostreamiostream类库中有关的头文件类库中有关的头文件iostream包含了对输入输出流进行操作所需的基包含了对输入输出流进行操作所需的基本信息。本信息。fstream用于用户管理的文件的用于用户管理的文件的I/O操作。操作。strstream用于字符串流用于字符串流I/O。stdiostream用于混合使用用于混合使用C和和C+的的I/O机制时。机制时。iomanip在使用格式化在使用格式化I/O时应包含此头文件。时应包含此头文件。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会三、C+
7、的输入输出流的输入输出流3 3、iostreamiostream头文件中定义的流对象头文件中定义的流对象在在iostream头文件中定义的类有:头文件中定义的类有:ios、istream、ostream、iostream、istream _withassign、ostream_withassign、iostream_withassign等。等。还定义了还定义了4种流对象:种流对象:cin、cout、cerr、clog4 4、在在iostream头文件中重载运算符头文件中重载运算符“”中北大学电子与计算机科学技术学院C+程序设计基础 乔志会2 标准输出流标准输出流标准输出流是流向标准输出设备标准
8、输出流是流向标准输出设备(显示器显示器)的数据。的数据。一、cout、cerr和和clog流流1、cout流对象流对象cout是是console output的缩写,意为在控制台的缩写,意为在控制台(终终端显示器端显示器)的输出。的输出。(1)cout不是不是C+预定义的关键字,它是预定义的关键字,它是ostream流类的对象,在流类的对象,在iostream中定义。中定义。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会一、cout、cerr和和clog流流1、cout流对象流对象(2)用用“cout”输出基本类型的数据时,可以输出基本类型的数据时,可以不必考虑数据是什么类型,系统会
9、判断数据的类不必考虑数据是什么类型,系统会判断数据的类型,并根据其类型选择调用与之匹配的运算符重型,并根据其类型选择调用与之匹配的运算符重载函数。载函数。(3)cout流在内存中对应开辟了一个缓冲区,用流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向来存放流中的数据,当向cout流插入一个流插入一个endl时,时,不论缓冲区是否已满,都立即输出流中所有数据,不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符,并刷新流然后插入一个换行符,并刷新流(清空缓冲区清空缓冲区)。中北大学电子与计算机科学技术学院C+程序设计基础 乔志会(4)在在iostream中只对中只对“”运算符用
10、运算符用于标准类型数据的输入输出进行了重载,但未对于标准类型数据的输入输出进行了重载,但未对用户声明的类型数据的输入输出进行重载。用户声明的类型数据的输入输出进行重载。一、cout、cerr和和clog流流2、cerr流对象流对象1、cout流对象流对象cerr流对象是标准错误流。流对象是标准错误流。cerr流已被指定为与显示器关联。流已被指定为与显示器关联。cerr的作用是的作用是向标准错误设备向标准错误设备(standard error device)输出有输出有关出错信息。关出错信息。cerr流中的信息是用户根据需要指定的。流中的信息是用户根据需要指定的。例例13.1中北大学电子与计算机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 14 输入输出
限制150内