第10章IO流标准库.ppt
《第10章IO流标准库.ppt》由会员分享,可在线阅读,更多相关《第10章IO流标准库.ppt(39页珍藏版)》请在三一文库上搜索。
1、第二部分 C+面向对象程序设计,第十章 C+ I/O流标准库,金志刚 ,10.1 C+ I/O流概述,1. I/O流 外部设备和计算机内存之间流动的一系列字节。输入时,字节从输入设备(如从键盘、磁盘等)流向内存;输出时,字节从内存流向输出设备(如显示器、打印机、磁盘等)。,2. C+ I/O流类库,I/O流类列表,10.1 C+ I/O流概述,4.预定义的I/O流类对象 cin:istream 类的对象,处理标准输入设备的输入。 cout:ostream 类的对象,处理标准输出设备的输出。 cerr:ostream 类的对象,处理在标准输出设备上输出 错误信息(非缓冲)。 clog:ostre
2、am 类的对象,处理在标准输出设备上输出 错误信息(缓冲)。,5.重载的通用的流算符 (提取运算符):输入,从流中获取数据到内存。 (插入运算符):输出,将内存数据添加到流中输入。,10.1 C+ I/O流概述,重要提示: “读”、“输入”、“提取”表示的是同样的含义,即把数据从外部设备传到计算机内存。 “写”、“输出”、“插入”表示的是同样的含义,即把数据从计算机内存传到外部设备。,例 “”(提取运算符)和“xy; cout“x=“x“ y=”yn;,磁盘文件简介, 输入流的起点和输出流的终点都可以是磁盘文件。,1)文本文件:文件中信息形式为ASCII码字符,每个字符占一 个字节。 2)二进
3、制文件:文件中信息的形式与其在内存中的形式相同。, 文件:C+把每个文件都看成是一个有序的字节序列,每个文件都以文件结束标志结束。例如:, 按照文件中数据的组织形式可把文件分为:, 文件的读写方式:,1)顺序方式: 按数据在文件中的物理排列顺序依次读或写。 2)随机方式: 在文件的任何位置进行读或写。,磁盘文件简介,10.2 输出流,定义文件输出流对象 向一个磁盘文件输出前,需要定义一个ofstream类的对象(输出流对象)。方法主要有两种:,方法1: 定义输出流类对象, 调用open成员函数打开文件,例:ofstream outfile; /建立文件输出流类对象 outfile.open(“
4、datal.txt”,ios:out); /使流对象与文件建立联系(打开文件),方法2: 在定义输出流类对象时打开相关联的文件,例:ofstream outfile (“datal.txt”,ios:out);,10.2 输出流,2.向输出流插入数据 1)使用输出流插入运算符(),例 cout“x=“3.52n;, 流类库中重载的运算符返回了对其左操作对象的引 用,因此在一条语句中可以连续使用 。,例1 使用插入运算符()向文本文件写入信息。, 在对打开的文件的写操作完成后,应调用close()成员函数关闭该文件。,例2 把前100个质数写入文本文件。, 任何不是质数的整数都可以被更小的质数整
5、除。,10.2 输出流,2.向输出流插入数据 2)使用输出流类成员函数put()输出字符。,例 cout.put(H).put(i).put(!)endl;, put()成员函数返回调用它的对象的引用,因此在一条 语句中可以连续调用put()成员函数。,10.2 输出流,2.向输出流插入数据 3)使用输出流类成员函数write()以原始数据形式输出。,例 char buffer=“HAPPY BIRTHDAY“; cout.write(buffer,5)endl;, write()成员函数返回调用它的对象的引用。, 调用write()时,第一个实参必须是char类型的地址。,例2 使用put(
6、)和write()向文本文件写入信息。,例3 使用write()向二进制文件写入信息。, 调用write()时,第一个实参必须是char类型的地址。,10.3 输入流,定义文件输入流对象 从一个磁盘文件输入前,需要定义一个ifstream类的对象(输入流对象)。方法主要有两种:,方法1: 先定义文件对象,然后调用open成员函数打开文件,例:ifstream infile; /建立文件输入流对象 infile.open(“datal.txt”,ios:in); /打开文件,使流对象与文件建立联系,方法1: 在定义文件对象时打开相关联的文件,例:ifstream infile (“datal.t
7、xt”,ios:in);,10.3 输入流,2.从输入流提取数据 1)使用输入流提取运算符(),例 int x,y; cinxy;, 空格符、回车符作为数据间的分割符。若遇到输入的数据类型有错或文件结束符时,提取工作将终止。,例1 使用提取运算符()从文本文件读信息。,例2 读取写在文本文件中100个质数,并将它们显示在屏幕上。,10.3 输入流,2.从输入流提取数据 2)使用输入流类成员函数get() 读入一个字符。,例 char c; while(c=cin.get()!=EOF) cout.put(c);, 不带参数的get()函数。从输入流中读取一个字符,并把该字符作为函数返回值,若遇
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 IO 标准
链接地址:https://www.31doc.com/p-2250651.html