欢迎来到天天文库
浏览记录
ID:37814204
大小:304.38 KB
页数:27页
时间:2019-05-31
《course(3)输入输出流》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《ACM程序设计》湖南师范大学瞿绍军powerhope@tom.com输入输出流12.1C++的输入输出12.2标准输入输出流12.3文件操作与文件流12.4串流类12.5格式控制12.6ACM中的文件输入输出12.1C++的输入输出C++的输入输出是以流的形式进行的,不仅可以输出标准类型的数据,也可以输出用户自定义类型的数据。C++的输入输出主要有以下三种:(1)对系统指定的标准设备的输入输出,即标准I/O。(2)以外存磁盘文件为对象进行的输入输出,称为文件的输入输出。(3)字符串输入输出。12.1C++的输入输出图12
2、.1C++流继承结构12.2标准输入输出流在键盘和屏幕上的输入输出称为标准输入输出,标准流是不需要打开和关闭文件即可直接操作的流文件。我们所熟悉的输入输出操作iostream类是由istream(输入流)和ostream(输出流)这两个类派生出的。iostream库定义了以下四个标准流对象:(1)cin。标准输入(standardinput)的istream类对象。从键盘输入。(2)cout。标准输出(standardoutput)的ostream类对象。输出到屏幕。(3)cerr。标准错误(standarderror)的osttre
3、am类对象。与错误信息的标准输出设备。(4)clog。输出到打印机。12.2标准输入输出流cout是ostream类的对象,它在iostream头文件中作为全局对象进行定义。ostreamcout(stdout);//标准设备名作为其构造函数的参数ostream流类对应每个基本数据类型都有其友元函数对左移操作符进行了友元函数的重载。ostream&operator<<(ostream&dest,intsource);ostream&operator<<(ostream&dest,char*psource);//等等12.2标准输入输出
4、流cout<<"HelloWorld!";cout是ostream对象,<<是操作符,右边是char*类型,故与上面的“ostream&operator<<(ostream&dest,char*psource);”相匹配。它将整个字符串输出,并返回ostream流对象的引用。cout<<"Thisis"<<5;则根据<<的运算优先级,可以看作:(cout<<"Thisis")<<5;由于“cout<<"Thisis"”返回ostream流对象的引用,与后面的<<5匹配了另一个“ostream&operator<<(ostream&de
5、st,intsource);”操作符,结果构成了连续的输出。12.2标准输入输出流同样,cin是istream的全局对象,istream流类对应每个基本数据类型都有其友元函数对右移操作符进行了友元函数的重载。ostream&operator>><(ostream&dest,intsource);ostream&operator>>(ostream&dest,char*psource);//等等除了标准输入输出设备,还有标准错误设备cerr。12.2标准输入输出流【例12.1】下面程序在除法操作不能进行时显示一条错误信息。#includ
6、eusingnamespacestd;voidfn(inta,intb){if(b==0)cerr<<"zeroencountered."<<"Themessagecannotberedirected";elsecout<7、来。文件流类不是标准设备,所以没有像cout那样预先定义的全局对象,文件流类定义的操作应用于外部设备,要自己定义一个文件流类的对象,需要规定文件名和打开方式。12.3文件操作与文件流ofstream类的默认构造函数原形为:ofstream::ofstream(constchar*filename,intmode=ios::out,intopenprot=filebuf::openprot);其中:filename:要打开的文件名mode:要打开文件的方式prot:打开文件的属性其中mode和prot这两个参数的可选项见表12.1和表18、2.2。12.3文件操作与文件流表12.1mode属性表方式作用ios::in文件以读方式打开ios::out文件以写方式打开ios::app以追加的方式打开文件ios::ate文件打开后定位到文件尾,ios:app就包
7、来。文件流类不是标准设备,所以没有像cout那样预先定义的全局对象,文件流类定义的操作应用于外部设备,要自己定义一个文件流类的对象,需要规定文件名和打开方式。12.3文件操作与文件流ofstream类的默认构造函数原形为:ofstream::ofstream(constchar*filename,intmode=ios::out,intopenprot=filebuf::openprot);其中:filename:要打开的文件名mode:要打开文件的方式prot:打开文件的属性其中mode和prot这两个参数的可选项见表12.1和表1
8、2.2。12.3文件操作与文件流表12.1mode属性表方式作用ios::in文件以读方式打开ios::out文件以写方式打开ios::app以追加的方式打开文件ios::ate文件打开后定位到文件尾,ios:app就包
此文档下载收益归作者所有