C程序设计语言揣锦华第9章流类库与输入输出

C程序设计语言揣锦华第9章流类库与输入输出

ID:45058522

大小:649.00 KB

页数:62页

时间:2019-11-08

C程序设计语言揣锦华第9章流类库与输入输出_第1页
C程序设计语言揣锦华第9章流类库与输入输出_第2页
C程序设计语言揣锦华第9章流类库与输入输出_第3页
C程序设计语言揣锦华第9章流类库与输入输出_第4页
C程序设计语言揣锦华第9章流类库与输入输出_第5页
资源描述:

《C程序设计语言揣锦华第9章流类库与输入输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章流类库与输入/输出9.1输入/输出标准流类9.2文件流类9.3串流类9.4控制符9.1输入/输出标准流类9.1.1输入/输出流的概念就像C语言一样,C++语言中也没有输入/输出语句。C++的I/O是以字节流的形式实现的,每一个C++编译系统都带有一个面向对象的输入/输出软件包,这就是I/O流类库。其中,流是I/O流类的中心概念。到目前为止,我们一直在使用它。所谓流,是指数据从一个对象流向另一个对象。在C++程序中,数据可以从键盘流入到程序中,也可以从程序中流向屏幕或磁盘文件,把数据的流动抽象为“流”。流在使用前要被建立,使用后要被删除,还要使用一些特定的操作从流中获取数据或向流中添加数

2、据。从流中获取数据的操作称为提取操作,向流中添加数据的操作称为插入操作。流实际上就是一个字节序列。在输入操作中,字节从输入设备(如键盘、磁盘、网络连接等)流向内存;在输出操作中,字节从内存流向输出设备(如显示器、打印机、磁盘、网络连接等)。如图9-1所示。在C++语言中,针对流的特点,提供了如图9-2所示的层次结构来描述流的行为,并给出了I/O流类库的操作。图9-2输入/输出流类层次图表9-1I/O流类列表9.1.2输入/输出标准流类1.标准流的设备名由表9-1可见,I/O流的标准头文件是iostream.h。其中,ostream类通过其派生类ostream_withassign支持以下预先

3、定义的流对象:cout:标准输出。默认设备为屏幕。cerr:标准错误输出。没有缓冲,发送给它的内容立即被输出,默认设备为屏幕。clog:标准错误输出。有缓冲,当缓冲区满时被输出,默认设备为打印机。而istream类通过其派生类istream_withassign支持预先定义的对象。cin:标准输入。默认设备为键盘。2.原理cout是ostream类的全局对象,它在头文件iostream.h中的定义如下:ostreamcout(stdout);//这里,stdout作为该对象构造时的参数对应每种基本数据类型,ostream类都存在友元,它们都在iostream.h中声明。例如:ostream&

4、operator<<(intn);ostream&operator<<(floatf);ostream&operator<<(constchar*psz);//...如语句:cout<<"Howoldareyou?";cout是类ostream的对象,<<是插入运算符,右面是char*类型,所以,应该匹配上面第三个操作符。它将整个字符串输出,并返回ostream流对象的引用。同理,cin是istream的全局对象,istream类也存在友元。例如:istream&operator>>(int&n);istream&operator>>(float&f);istream&operator>>(

5、char*psz);//...9.2文件流类fstream、ifstream和ofstream是文件流类,在头文件fstream.h中定义。其中,fstream是ofstream和ifstream多重继承的子类。文件流类不是标准设备,没有cout那样预先定义的全局对象。文件流类支持对磁盘文件的操作。要定义一个文件流类对象,须指定文件名和打开方式。类ofstream用于执行文件输出,该类有以下几个构造函数:ofstream::ofstream(filedescfd);ofstream::ofstream(filedescfd,char*pch,intnLength);ofstream::ofs

6、tream(constchar*szName,intnMode=ios::out,intnProt=filebuf::openprot);类ifstream用于执行文件输入,该类有以下几个构造函数:ifstream::ifstream(filedescfd);ifstream::ifstream(filedescfd,char*pch,intnLength);ifstream::ifstream(constchar*szName,intnMode=ios::in,intnProt=filebuf::openprot);其中最常用的都是最后一个构造函数。该函数有三个参数,第一个参数是指向要打开

7、的文件名的字符串,后两个参数指定文件的打开模式。文件打开模式的具体标志见表9-2。可以用按位OR(

8、)运算符组合这些标志,它们作为枚举器定义在ios类中。表9-2文件打开模式打开一个输出文件,用于在文件尾添加数据打开一个现存文件(用于输入或输出)并查找到结尾打开一个输入文件。对于一个ofstream文件,使用ios::in作为一个openmode,可避免删除一个现存文件中现有的内容打开一个文件,用于输出。对于

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。