c++第8章.ppt
《c++第8章.ppt》由会员分享,可在线阅读,更多相关《c++第8章.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机科学与技术学院计算机科学与技术学院第第八八章章 C+I/O C+I/O流标准库流标准库1 1计算机科学与技术学院计算机科学与技术学院8.1 C+I/O8.1 C+I/O流概述流概述oI/OI/O流流 外部设备外部设备和计算机内存之间流动的一系列字节。和计算机内存之间流动的一系列字节。输入时输入时,字节从输入设备(如从键盘、磁盘等),字节从输入设备(如从键盘、磁盘等)流向内存流向内存;输出输出时时,字节从内存流向输出设备(如显示器、,字节从内存流向输出设备(如显示器、打印机、磁盘等)。打印机、磁盘等)。2 2计算机科学与技术学院计算机科学与技术学院oC+I/OC+I/O流类流类库库3 3i
2、osistreamiostreamostreamifstreamfstreamofstream计算机科学与技术学院计算机科学与技术学院I/OI/O流类列表流类列表 4 4类名类名说明说明包含文件包含文件iosios流的抽象基类流的抽象基类iostream.hiostream.histreamistream(ostream)(ostream)通用输入通用输入(输出输出)流类和其他流类和其他输入输入(输出输出)流的基类流的基类iostream.hiostream.hifstreamifstream(ofstream)(ofstream)输入输入(输出输出)文件流类文件流类fstream.hfstr
3、eam.hiostreamiostream通用输出通用输出/输出流类和其他输出流类和其他输出输出/输出流的基类输出流的基类iostream.hiostream.hfstreamfstream输入输入/输出文件流类输出文件流类fstream.hfstream.h计算机科学与技术学院计算机科学与技术学院o预定义的预定义的I/OI/O流类对象流类对象 cincin:istream istream 类的对象,处理标准输入设备的输入。类的对象,处理标准输入设备的输入。coutcout:ostream ostream 类的对象,处理标准输出设备的输类的对象,处理标准输出设备的输出。出。cerrcerr:o
4、stream ostream 类的对象,处理在标准输出设备上类的对象,处理在标准输出设备上输出错误信息输出错误信息(非缓冲)。(非缓冲)。clogclog:ostream ostream 类的对象,处理在标准输出设备上类的对象,处理在标准输出设备上输出错误信息输出错误信息(缓冲)(缓冲)。5 5计算机科学与技术学院计算机科学与技术学院o重载的通用的流算符重载的通用的流算符 (提取运算符):输入,从流中获取数据到内存。(提取运算符):输入,从流中获取数据到内存。(插入运算符):输出,将内存数据添加到流中。(插入运算符):输出,将内存数据添加到流中。6 6 1 1、“读读”、“输入输入”、“提取提
5、取”表示的是同样的含义表示的是同样的含义,即即把数据从外部设备传到计算机内存把数据从外部设备传到计算机内存。2 2、“写写”、“输出输出”、“插入插入”表示的是同样的含义表示的是同样的含义,即即把数据从计算机内存传到外部设备把数据从计算机内存传到外部设备。注意注意输入和输出的方向是以内存为核心注意注意计算机科学与技术学院计算机科学与技术学院磁盘文件磁盘文件简介简介o文件:文件:C C+把每个文件都看成是一个有序的字节序列,把每个文件都看成是一个有序的字节序列,每个每个文件文件都以都以文件结束文件结束标志标志终结终结。o按照文件中数据的组织形式可把文件分为:按照文件中数据的组织形式可把文件分为:
6、n文本文件文本文件:文件中信息形式为:文件中信息形式为ASCIIASCII码字符,每个码字符,每个字符占字符占一个一个字节字节。(每个汉字两个字节)。(每个汉字两个字节)n二进制二进制文件文件:文件中信息的形式与其在内存中的形:文件中信息的形式与其在内存中的形式相同。式相同。7 7计算机科学与技术学院计算机科学与技术学院o文件的读写方式:文件的读写方式:n顺序方式:顺序方式:按数据在文件中的物理排列顺序依次读或写。按数据在文件中的物理排列顺序依次读或写。n随机方式:随机方式:在文件的任何位置进行读或写。在文件的任何位置进行读或写。8 8计算机科学与技术学院计算机科学与技术学院输出流输出流9 9
7、计算机科学与技术学院计算机科学与技术学院1 1、定义文件输出流对象、定义文件输出流对象方法方法1 1:定义输出流类对象:定义输出流类对象,调用调用openopen成员成员函数使函数使对象和文件建立关联。对象和文件建立关联。例:例:ofstream ofstream outfile outfile;/创建创建文件文件输出流类对象输出流类对象 outfile.openoutfile.open(e:datal.txt(e:datal.txt,ios,ios:out);:out);/使流对象与文件建立联系(打开文件使流对象与文件建立联系(打开文件)方法方法2 2:在定义输出流类:在定义输出流类对象的同
8、时与文件建立关对象的同时与文件建立关联联例例:ofstream ofstream outfile outfile(e:datal.txt(e:datal.txt,ios,ios:out);:out);1010计算机科学与技术学院计算机科学与技术学院2 2、向、向输出流插入数据输出流插入数据1)1)使用使用输出流插入运算符(输出流插入运算符()流流类库中重载的运算符类库中重载的运算符返回了对其左操作对象的返回了对其左操作对象的引引用用,因此在一条语句中可以连续使用,因此在一条语句中可以连续使用 例例.coutx=3.52coutx=3.52 n;n;1111计算机科学与技术学院计算机科学与技术学
9、院例例1 1 使用插入运算符(使用插入运算符()向文本文件写入信息。)向文本文件写入信息。1212#include#include#include#include void main()void main()ofstream ofstream fout fout(e:test1.txt);(e:test1.txt);if(!fout)if(!fout)coutCannot open the file!endl;coutCannot open the file!endl;exit(1);exit(1);foutThe contents of the file:endl;foutThe conte
10、nts of the file:endl;foutOOP is not difficult to learn,endl;foutOOP is not difficult to learn,endl;foutas long as you have this book.endl;foutas long as you have this book.endl;fout.close();fout.close();/关闭文件关闭文件 在对打开的文件的写操作完成后,在对打开的文件的写操作完成后,应调用应调用close()close()成员函数关闭该文件。成员函数关闭该文件。计算机科学与技术学院计算机科学与技
11、术学院例例2.2.把从键盘输入的把从键盘输入的1010个整数按由大到小顺序写入文本文件。个整数按由大到小顺序写入文本文件。1313计算机科学与技术学院计算机科学与技术学院2)2)使用使用输出流类成员函数输出流类成员函数put()put()输出字符。输出字符。1414例例 cout.put(H).cout.put(H).put(iput(i).).put(!)endl;put(!)endl;计算机科学与技术学院计算机科学与技术学院文件输出代码框架文件输出代码框架1515 1 1、创建文件流对象、创建文件流对象 2 2、将文件流对象和磁盘文件进行关联、将文件流对象和磁盘文件进行关联(open)(o
12、pen)3 3、判断关联是否成功、判断关联是否成功 3 3、文件操作、文件操作(输出输出:,get,getline,get,getline)4 4、关闭文件流对象、关闭文件流对象(close)(close)记忆记忆计算机科学与技术学院计算机科学与技术学院1616计算机科学与技术学院计算机科学与技术学院1 1、定义、定义文件文件输入流对象输入流对象 从从一个磁盘文件输入前,需要定义一个一个磁盘文件输入前,需要定义一个ifstreamifstream类的对象(输入流对象)类的对象(输入流对象)。方法。方法主要有两种:主要有两种:方法方法1 1:先定义:先定义文件流对象文件流对象,然后然后调用调用o
13、penopen成员成员函函数与文件建立关联。数与文件建立关联。方法方法2 2:在定义:在定义文件流对象的同时文件流对象的同时打开相关联的打开相关联的文件文件 1717例:例:ifstream ifstream infile infile;/;/建立文件输入流对象建立文件输入流对象 infile.open(infile.open(e e:datal.txt,iosdatal.txt,ios:in);:in);/打开文件,使流对象与文件建立联系打开文件,使流对象与文件建立联系例:例:ifstream ifstream infile(infile(e e:datal.txtdatal.txt,ios
14、,ios:in);:in);计算机科学与技术学院计算机科学与技术学院2 2、从、从输入流提取输入流提取数据数据 1 1)使用输入流提取)使用输入流提取运算符运算符()空格符、回车符作为数据间的分割符。若遇到输入的空格符、回车符作为数据间的分割符。若遇到输入的数据类型有错或文件结束符时,提取工作将终止。数据类型有错或文件结束符时,提取工作将终止。1818#include#include#include#include void void main main()()ifstream ifstream fin fin(e:test1.txt);(e:test1.txt);char char one6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+
限制150内