IO StreamBasic.ppt标准IO库:基础吴清锋2009年春提纲概述面向对象的标准库文件的输入和输出字符串流结束概述程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件;从操作系统的角度,每一个与主机相连的I/++的输入与输出包括以下3个方面的内容:标准的输入输出:对系统指定的标准设备的输入和输出。即从终端键盘是标准输入文件,显示屏是标准输出文件;文件的输入输出:以外存磁盘文件为对象进行输入和输出;字符串输入输出(串I/O):对内存中指定的空间进行输入和输出(通常指定一个字符数组作为存储空间)为了实现数据的有效流动(I/O操作),C++系统提供了庞大的I/O类库,调用不同的类去实现不同的功能。返回面向对象的标准库(1)IO类型在三个独立的头文件中定义返回头文件类型iostream定义读写控制窗口的类型istream从流中读取(输入流)ostream写到流中去(输出流)iostream对流进行读写fstream定义读写已命名文件的类型ifstream从文件中读取(输入文件流)ofstream写到文件中去(输出文件流)fstream读写文件sstream定义的类型则用于读写存储在内存中的string对象istringstream从string对象中读取ostringstream写到string对象中去stringstream对string对象进行读写面向对象的标准库(2)简单的iostream类库继承层次返回ostreamistreamiostreamifstreamofstreamstringstreamfstreamostringstreamistringstreamios文件的输入和输出(1)fstream头文件定义了三种支持文件IO的类型;与之前使用标准库定义的对象:cin、cout和cerr不同,读写文件时,必须定义自己的对象,并往往可能将它们与具体文件绑定;创建流对象可分:创建fstream类的对象;创建ifstream类或ofstream类的对象(可省访问方式)返回文件的输入和输出(2)通过创建ifstream类或ofstream对象打开文件方法一:先创建对象,再打开文件(使用成员函数)ofstream<对象名>;(ifstream<对象名>;)<对象名>.open(“<文件名>”);例:ifstreaminfile;//将infile定义为读文件的流对象(“in”);//打开名为in的文件名方法二:创建对象和打开文件合二为一ofstream<对象名>(“<文件名>”);例:ifstreaminfile(());其中:ifile为对象,成员函数c_str(),将string转化为C-串,并对文件流对象infile进行初始化;返回文件的输入和输出(2)通过创建fstream类对象打开文件方法一:先创建对象,再打开文件(使用成员函数)fstream<对象名>;<对象名>.open(“<文件名>”,<访问方式>);方法二:创建对象和打开文件合二为一fstream<对象名>(“<文件名>”,<访问方式>);返回文件打开的若干细节(1)检查文件打开是否成功方法一:if(!infile){cerr<<“error:unabletoopeninputfile:”<<ifile<<endl;//iflie是存有文件名的string对象return-1;}功能:检查文件流对象等效于检查对象是否“适合”输入或输出。若打开失败,:if(((),ios::app)==0)cerr<<“Openerror”;功能:如果打开操作失败,open()的返回值为0;返回文件打开的若干细节(2)文件的关闭在对已打开的磁盘文件的读写操作完成后,应关闭文件;关闭文件,实际是解除该磁盘文件与文件流的关联,原来设置的工作方式也实效,因此,就不能再通过文件流对该文件进行输入或输出;文件流对象的重绑定若要把fstream对象与另一个不同的文件关联,则必须先关闭现在的文件,然后再打开另一个文件;Ifstreaminfile(“in”);();(“next”);//in和next为两个文件返回
IO StreamBasic 来自淘豆网www.taodocs.com转载请标明出处.