第22讲C+的输入和输出 教学目的和要求: 了解I/0标准流类。 掌握格式化输入输出及重载输入输出运算符。 教学内容提要: 1、I/0标准流类; 2、文件流类; 3、预定义类型的输入输出; 4、用户自定义类型的输入输出 教学重点:格式化输入输出及重载输入输出运算符。 教学难点:格式化输入输出及重载输入输出运算符。 教学进度:P242P261 教学过程:
第22讲 C++的输入和输出 教学目的和要求: 了解I/O标准流类。 掌握格式化输入输出及重载输入输出运算符。 教学内容提要: 1、I/O标准流类; 2、文件流类; 3、预定义类型的输入输出; 4、用户自定义类型的输入输出 教学重点:格式化输入输出及重载输入输出运算符。 教学难点:格式化输入输出及重载输入输出运算符。 教学进度:P242~P261 教学过程:
2.1(+为何建立自己的输入输出系统 因为在C++中用户需要定义众多的自定义类型,但是C语 言的输入输出系统不支持用户自定义的类型。请看下面的 类 class my class( int i: float f: char *str: s obi 对此类类型,在C语言中下面的语句是不能接受的: printf (" my class " obj) ●C+的流类比C的输入输出函数具有更大的优越性
22.1 C++为何建立自己的输入输出系统 • 因为在C++中用户需要定义众多的自定义类型,但是C语 言的输入输出系统不支持用户自定义的类型。请看下面的 类: class my_class{ int i; float f; char *str; } obj; 对此类类型,在C语言中下面的语句是不能接受的: printf("% my_class",obj); • C++的流类比C的输入输出函数具有更大的优越性
22.2C+的流库及其基本结构 22.2.1C++的流 在C+中,流类是为输入输出提供的一组类, 它们都放在流库中。 流总是与某一设备相联系的(例如键盘、屏 幕或硬盘等),通过使用流类中定义的方法,就 可以完成对这些设备的输入输出操作 流具有方向性:与输入设备(如键盘)相联系 的流称为输入流;与输出设备(如屏幕)相联系的 流称为输出流;与输入输出设备(如磁盘)相联系 的流称为输入输出流
22.2 C++的流库及其基本结构 22.2.1 C++的流 在C++中,流类是为输入输出提供的一组类, 它们都放在流库中。 流总是与某一设备相联系的(例如键盘、屏 幕或硬盘等),通过使用流类中定义的方法,就 可以完成对这些设备的输入输出操作。 流具有方向性:与输入设备(如键盘)相联系 的流称为输入流;与输出设备(如屏幕)相联系的 流称为输出流;与输入输出设备(如磁盘)相联系 的流称为输入输出流
C+中包含几个预定义的流对象, ●标准输入流 cin与标准输入设备相关联 ●标准输出流 cout与标准输出设备相关联 ●非缓冲型的标准出错流cerr与标准错误输出设备 相关联(非缓冲方式) ·缓冲型的标准出错流clog与标准错误输出设备 相关联(缓冲方式) 在缺省情况下,指定的标准输出设备是屏幕,标 准输入设备是键盘
C++中包含几个预定义的流对象,: • 标准输入流 cin 与标准输入设备相关联 • 标准输出流 cout 与标准输出设备相关联 • 非缓冲型的标准出错流 cerr 与标准错误输出设备 相关联(非缓冲方式) • 缓冲型的标准出错流 clog 与标准错误输出设备 相关联(缓冲方式) 在缺省情况下,指定的标准输出设备是屏幕,标 准输入设备是键盘
22.2.2流类库 C++流类库具有两个平行的基类,即 streambuf类和ios类,所有其他的流类都是 从它们直接或间接地派生出来的 其中 ios类为输入输出操作在用户一方的接口, 负责高层操作: streambuf类为输入输出操作在物理设备 方的接口,负责低层操作
22.2.2 流类库 C++流类库具有两个平行的基类,即 streambuf类和ios类,所有其他的流类都是 从它们直接或间接地派生出来的 其中: ios类为输入输出操作在用户一方的接口, 负责高层操作: streambuf类为输入输出操作在物理设备 一方的接口,负责低层操作