文档详情

面向对象程序设计及C++ 第2版 教学课件 作者 朱立华 俞琼 第8章_C++流与输入输出new.ppt

发布:2017-08-14约字共57页下载文档
文本预览下载声明
主讲: 第8章 C++的流类库与输入/输出控制 本章作业 作业:一,二,四,五(3,4) 本章内容提要 C++语言为输入/输出提供的流类 输入/输出格式控制方法 文本文件操作的方法和步骤 二进制文件操作的方法和步骤 本章内容安排 8.1 I/O流的概念及流类库 8.2 键盘输入与屏幕输出 8.3 文件的输入/输出 8.4 本章小结 8.1 I/O流的概念及流类库 C++语言把数据之间的传输操作称作流。每个流都是一种与设备相联系的对象。 C++语言的流具有方向性,根据方向的不同有3种流: 与输入设备相联系的流称为输入流,cin是标准输入流。 与输出设备相联系的流称为输出流,cout 是最常用的标准输出流。另外,输出流中还有cerr和clog这两种标准出错流。 与输入/输出设备相联系的流称为输入/输出流。 8.1 I/O流的概念及流类库 C++语言中数据的输入/输出,包括三个方面: 对标准输入设备键盘和标准输出设备显示器的输入/输出,简称为标准I/O。 对在外存磁盘上文件的输入/输出,简称为文件I/O。 对内存中指定的字符串存储空间的输入/输出,简称为串I/O。 8.1 I/O流的概念及流类库 streambuf类 用于提供物理设备的接口,它提供缓冲或处理流的通用方法,几乎不需要任何格式。 缓冲区由一字符序列和两个指针组成,这两个指针分别指向字符要被插入或被取出的位置。 8.1 I/O流的概念及流类库 streambuf类可以派生出3个类: filebuf类,用文件来保存缓冲区中的字符序列 strstreambuf类,在内存中进行提取和插入操作的缓冲区管理 conbuf类,控制光标、设置颜色、定义活动窗口、清屏、清1行等功能 8.1 I/O流的概念及流类库 ios类 为用户提供使用流类的接口,它们均有一个指向streambuf的指针 它使用streambuf完成检查错误的格式化输入/输出,并支持对streambuf的缓冲区进行输入/输出时的格式化或非格式化转换。 8.1 I/O流的概念及流类库 ios作为流库中的一个基类,可以派生出流库中许多的类。 ios类有4个直接派生类: 输入流(istream) 输出流(ostream) 文件流(fstreambase) 串流(strstreambase 8.1 I/O流的概念及流类库 以istream、ostream、fstreambase、strstreambase为基础,组合出多种实用的流: 输入/输出流(iostream) 输入/输出文件流(fstream) 输入/输出串流(strstream) 屏幕输出流(constream) 输入文件流(ifstream) 输出文件流(ofstream) 输入串流(istrstream) 输出串流(ostrstream)等 8.1 I/O流的概念及流类库 I/O文件操作一般流程为三个步骤: 首先打开操作,使流和文件发生联系。 建立联系后的文件才允许数据流入或流出。 输入或输出结束后,使用关闭操作使文件与流断开联系。 8.2 键盘输入与屏幕输出 C++语言中使数据流动的方法 : 使用在标准输入输出头文件stdio.h中声明的库函数 使用在输入输出流类文件iostream.h中定义的流对象cin和cout 使用插入运算符“” cout 输出项; 使用提取运算符“” cin 变量名; 8.2 键盘输入与屏幕输出 输入/输出类的定义 istream和ostream提供了流库的主要输入/输出 是研究流库的关键 8.2 键盘输入与屏幕输出 istream类 istream类重载了get函数。 例如:istream istream::get( signed char *,int len,char=\n); 从流中将字符输入到给定的char *,直到遇到分界符、文件结尾或已读完(len-1)个字节为止。 8.1 I/O流的概念及流类库 I/O文件操作一般流程为三个步骤: 首先打开操作,使流和文件发生联系。 建立联系后的文件才允许数据流入或流出。 输入或输出结束后,使用关闭操作使文件与流断开联系。 8.2 键盘输入与屏幕输出 C++语言中使数据流动的方法 : 使用在标准输入输出头文件stdio.h中声明的库函数 使用在输入输出流类文件iostream.h中定义的流对象cin和cout 使用插入运算符“” cout 输出项; 使用提取运算符“” cin 变量名; 8.2 键盘输入与屏幕输出 输入/输出类的定义 istream和ostream提供了流库的主要输入/输出 是研究流库的关键 8.2 键盘输入与屏
显示全部
相似文档