欢迎来到天天文库
浏览记录
ID:41535278
大小:127.88 KB
页数:39页
时间:2019-08-27
《c谭浩强教学第7章修订》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第七章输入输出流7.1C卄的输入和输出(P220)一、C4^+输入输出的含义(三种形式)二、C4"+建立自己的输入输出系统的意义三、C++流库及其基本结构7.2标准输入输出—、无格式的输入输出格式化输入输出(P228)7.3文件的输入输出(P2427.4)—、文件的概念—>文件流类与文件流对象三、文件的打开与关闭(P244)Ui对ASCII文件(文本文件)的操作(P246)五、对二进制文件的操作(P251)第七章输入输出流7.1C++的输入和输出(P220)一、O+输入输出的含义(三种形式)1.标准的输入输出:输入:从键盘输入数据;输出:数据输出到显示器。
2、2.文件的输入输出输入:从磁盘文件输入数据;输出:数据输出到文件。3.对内存中指定空间的输入输出字符串的输入输出二、C卄建立自己的输入输出系统的意义1.允许输入输出自定义类型;2.提供更安全的输入输出保障;3.输入输出书写形式更为简洁、清晰。C卄流库及其基本结构1.流类库C++的流类库是C++为了完成输入输出操作而预定义的类的集合,这些类构成一个层次结构的系统。它有两个平行的基类,分别是streambuf和ios类,所有其他流类都是从它们直接或间接地派生出来的。streambuf类负责缓冲区的处理,它为一个缓冲区提供内存,同时提供使用缓冲区的方法。从str
3、eambuf派生出行lebuf类、strstreambuf类和conbuf类,它们都属于流库中的类。filebuf类主要针对文件缓冲区管理,strstreambuf类提供了提取和插入操作的缓冲区管理,conbuf类对输入、输出操作提供缓冲区管理。iosiOS:它定义了用户经常使用的输入输出格式控制成员函数和一些有关格式控制、状态检测等枚举常量,从它派生出fstreambase:文件输入/输出流类,用作磁盘文件的输入输出2•与iostream类库有关的头文件(P224)•iostream:包含对输入输出流操作所需的基本信息;•fstream:用于用户管理的文
4、件的I/O操作;•strstream:用于字符串流I/O操作;•stdiostream:用于混合使用C和C++的I/O机制时,实现两种机制的转换;•iomanip:用于格式化I/O操作;3.在iostream头文件中定义的流对象C++的流类预定义了4个流,它们是:Cin:标准输入流;(istream的一个对象)Cout:标准输出流;(ostream的一个对象)Cerr:标准错误流;(ostream的一个对象)Clog:标准错误流;(ostream的一个对象).7.2标准输入输出—、无格式的输入输出1.输入输出运算符“>>”和的一般格式cin»变量;〃输入(
5、隐式调用)coutvv常量或变量;〃输出(隐式调用)可理解为:cin.operator»(变量);cout.operator«(常量或变量);即:输入流对象cin和输出流对象cout对运算符“>>”和“vv”的重载函数调用。2.输入输出运算符“>>”和的应用(1)输出运算符“vv”编译器将根据出现在输出运算符“VV”右边的变量或常量的类型来决定调用“VV”的重载版本;(2)输入运算符“》”缺省情况下,可用空格或换行键作为一组变量输入值间的分隔符;例如:inti;floatx;cin»i»x;则可从键盘输入如下形式:205.78字符串输入时,是以空格作为结束
6、标志;数据输入时,编译器将自动检查输入数据与变量的匹配。例如:inti;floatx;cin»i»x;输入:56.7932.5则:i=56,x=.79原因:系统是用数据类型分隔输入数据。二、格式化输入输出(P228)C++提供两种格式控制方法:(1)使用ios类中的有关格式控制的成员函数进行格式控制;(2)使用称为操作符的特殊类型函数进行格式控制。1.使用预定义的操作符进行I/O格式控制(P228)C++中的预定义的操作符是一系列特殊的函数,它不属于任何类的成员,其主要功能是用来格式化流的输入输出。C++提供的预定义的操作符(P228表7。3)说明:(1)
7、C++中所有不带形参的操作符都定义在头文件iostream.h中,带形参的操作符定义在头文件iomanip.h中;(2)在进行输入输出时,操作符必须嵌入到输入或输出键中用来控制输入输出格式。例如:cout«dec;//okcout«setw(4);//ok而:setprecision(2);〃不产生任何作用例7.1操作符的使用#include#includeusingnamespacestd;intmain(){cout«setw(10)«123«567«endl;cout«123«setiosflags(ios::s
8、cientific)«setw(20)«123.456789«en
此文档下载收益归作者所有