人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十九章 C++的I/O系统

人民邮电出版3 第十九章郾++的%0系统
人民邮电出版社 第十九章 C++的I/O系统

人民邮电出版3 191C+的/O系统概述 192定义自己的插入操作符和提取操作符 193格式化ⅣO 194文本文件的JO 195二进制文件的/O Y8196文件的随机访问
人民邮电出版社 19.1 C++的I/O系统概述 19.2 定义自己的插入操作符和提取操作符 19.3 格式化 I/O 19.4 文本文件的I/O 19.5 二进制文件的I/O 19.6 文件的随机访问

人民邮电出版3 191C+的JO系统概述 1911流与文件 C和C++的ⅣO系统有一个重要的共同点,就 是它们都是在流上操作。这个共同点,使得在同一 个程序中,可以同时使用C和C++的JO操作 在C和C++的ⅣO系统中,流分为两类:文本 流和二进制流。文本流是一个字符序列。在文本流 中,可能发生字符转换。二进制流则是一组字节序 列。它与设备上的输入输出一一对应,没有进行任 何转换
人民邮电出版社 19.1 C++的I/O系统概述 19.1.1 流与文件 C和C++的I/O系统有一个重要的共同点,就 是它们都是在流上操作。这个共同点,使得在同一 个程序中,可以同时使用C和C++的I/O操作。 在C和C++的I/O系统中,流分为两类:文本 流和二进制流。文本流是一个字符序列。在文本流 中,可能发生字符转换。二进制流则是一组字节序 列。它与设备上的输入输出一一对应,没有进行任 何转换

人民邮电出版3 一个流与特定文件的联系,是通过“打开 ”操作建立起来的。文件一打开,程序就可以 同文件交换信息了。通过“关闭”操作,可以 将流与特定的文件之间的联系断开。当流的打 开是用于输出时,关闭操作将使相关缓冲区的 信息写到外部设备上。这个过程称为刷新流。 程序正常结束时,所有打开的文件都自动关闭
人民邮电出版社 一个流与特定文件的联系,是通过“打开 ”操作建立起来的。文件一打开,程序就可以 同文件交换信息了。通过“关闭”操作,可以 将流与特定的文件之间的联系断开。当流的打 开是用于输出时,关闭操作将使相关缓冲区的 信息写到外部设备上。这个过程称为刷新流。 程序正常结束时,所有打开的文件都自动关闭

人民邮电出版3 1912C++的流 C++流ⅣO是以类层次的方式实现的。基类是 一个流,它可以表示文件或O设备。它定义了使 用者看不见的低层操作。使用者接触的是由派生 类定义的高层次的ⅣO函数。 C+有四个预定义流,当C+程序开始执行 △时,它们会自动打开。这四个预定义流是 标准输入流cin; 标准输出流cout; 非缓冲型标准出错流cer 缓冲型标准出错流clog
人民邮电出版社 19.1.2 C++的流 C++流I/O是以类层次的方式实现的。基类是 一个流,它可以表示文件或I/O设备。它定义了使 用者看不见的低层操作。使用者接触的是由派生 类定义的高层次的I/O函数。 C++有四个预定义流,当C++程序开始执行 时,它们会自动打开。这四个预定义流是: 标准输入流cin; 标准输出流cout; 非缓冲型标准出错流cerr; 缓冲型标准出错流clog

人民邮电出版3 C++提供的流IO的一个明显优点,就是程 序员可以不考虑数据的类型。例如,输出变量a 的值 cout<<a 和输入变量b的值 cin<<b 这里变量和变量b的数据类型可能是int, char,foat等等
人民邮电出版社 C++提供的流I/O的一个明显优点,就是程 序员可以不考虑数据的类型。例如,输出变量a 的值 cout<<a; 和输入变量b的值 cin<<b; 这里变量a和变量b的数据类型可能是int, char, float等等

人民邮电出版 19,2定义自己的插入操作符和提取操作符 到目前为止,当需要输入或输出与类有关的数 据时,是通过建立专门的成员函数实现的。这种方 法不太方便。C++提供了更好的方法。这就是用重 载操作符“”来完成类的ⅣO操作。 1921创建插入符
人民邮电出版社 19.2 定义自己的插入操作符和提取操作符 到目前为止,当需要输入或输出与类有关的数 据时,是通过建立专门的成员函数实现的。这种方 法不太方便。C++提供了更好的方法。这就是用重 载操作符“>”来完成类的I/O操作。 19.2.1 创建插入符

人民邮电出版3 例191为下面的类 my data定义插入符 “<”,使其能输出该类的三个数据,f,c 类 my data的定义如下: class my data public int 1 float f char ch set val(int a, clot b, char ch) 1=a f=b ch=c
人民邮电出版社 例 19.2.1 为下面的类my_data定义插入符 “<<”,使其能输出该类的三个数据i, f, c。 类my_data的定义如下: class my_data { public : int i; float f; char ch; set_val(int a, cloat b, char ch) { i = a; f = b; ch = c; } };

人民邮电出版3 为创建类 my data的对象的插入符函数,其 功能为输出类 my data对象的三个数据;f,ch。可 重载“<<”操作符如下: ostream &operator<<(ostream &stream, my data obj) stream <<obj. 1<<"," stream << obj. f<< stream <x obj. ch<<"\nt return stream
人民邮电出版社 为创建类my_data 的对象的插入符函数,其 功能为输出类my_data对象的三个数据i,f,ch。可 重载“<<”操作符如下: ostream &operator<<(ostream &stream, my_data obj) { stream << obj.i << ","; stream << obj.f << ","; stream << obj.ch << "\n"; return stream; }

人民邮电出版3 这个函数的返回类型是一个对类 ostream的 对象的引用( ostream&)。它有两个参数:第一 个参数是对流的引用( ostream& estream);第二 个参数是出现在操作符“<”的右边的对象 ( my data obj)。 从上面这个具体的例子,可以写出如下的 插入符函数的一般框架: ostream& operator<<( ostream&函数的流类 人名对象名) ∥函数代码 return函数的流
人民邮电出版社 这个函数的返回类型是一个对类ostream的 对象的引用(ostream &)。它有两个参数:第一 个参数是对流的引用(ostream &stream);第二 个参数是出现在操作符“<<”的右边的对象 (my_data obj)。 从上面这个具体的例子,可以写出如下的 插入符函数的一般框架: ostream &operator << (ostream &函数的流,类 名&对象名) { // 函数代码 return 函数的流; }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十三章 磁盘文件操作(I/O系统).ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十七章 类的继承.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十一章 C语言的预处理器.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第六章 数组与字符串.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第八章 函数.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第五章 位操作及其它操作.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第二章 数据、操作符和表达式.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第九章 数据的存储方式.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第三章 程序控制语句—分支结构.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第七章 指针.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第一章 对C语言的初步认识.ppt
- 吉林大学法学院:《破产法》课程教学课件(PPT讲稿,共十二章,主讲:齐明).ppt
- 吉林大学法学院:《票据法》课程PPT教学课件(共九章).ppt
- 吉林大学法学院:《公司法学》课程教学课件(PPT讲稿,共七章).ppt
- 吉林大学法学院:《公司诉讼的司法逻辑》课程教学课件(PPT讲稿,主讲:傅穹).ppt
- 吉林大学法学院:《保险法》课程教学课件(PPT讲稿,共十四章,主讲:高宇).ppt
- 吉林大学法学院:《证券法》课程教学课件(PPT讲稿,共六章,主讲:于莹).ppt
- 天津中医学院:《刺络放血法——近期的临床应用分析》课程教学课件(PPT讲稿,主讲:萧博元).ppt
- 《研究生必读》如何撰写研究论文.doc
- 《研究生必读》如何撰写课程综述.doc
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十二章 屏幕控制.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十五章 类.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十八章 虚函数.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十六章 类的工具.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十四章 C++ 概述.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十章 用户定义数据类型.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第四章 程序控制语句——循环结构.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十八章 虚函数.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十二章 屏幕控制.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十九章 C++的I/O系统.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十六章 类的工具.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十七章 类的继承.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十三章 磁盘文件操作(I/O系统).ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十四章 C++ 概述.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十五章 类.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十一章 C语言的预处理器.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第十章 用户定义数据类型.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第四章 程序控制语句——循环结构.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第五章 位操作及其它操作.ppt
- 人民邮电出版社:《C及C++程序设计》课程教学资源(PPT课件讲稿)第一章 对C语言的初步认识.ppt