IO库的成员函数iostream库

上传人:痛*** 文档编号:243910406 上传时间:2024-10-01 格式:PPT 页数:26 大小:216.50KB
返回 下载 相关 举报
IO库的成员函数iostream库_第1页
第1页 / 共26页
IO库的成员函数iostream库_第2页
第2页 / 共26页
IO库的成员函数iostream库_第3页
第3页 / 共26页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,OOP Using C+,Object-Oriented Programming Using C+,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,iostream,库,输入输出和文件操作,本章要点,iostream,库的结构,终端输入,/,输出,文件输入,/,输出,内存输入,/,输出,终端输入,/,输出,iostream,库,输入输出操作是由输入流,istream,和输出流,ostream,提供的,iostream,是同时从,istream,和,ostream,派生的类,允许双向的输入,/,输出,为了使用输入输出流库,必须包含相关的头文件,#include,iostream,库,iostream,库定义了三个标准流对象:,cin,,代表标准输入的,istream,类对象,用,cin,从用户终端读入数据,cout,,代表标准输出的,ostream,类对象,用,cout,向用户终端写数据,cerr,,代表标准错误的,ostream,类对象,cerr,是导出程序错误消息的地方,操作符,输出主要由重载的操作符“,”,完成,输出,最常用的输出方法是在,cout,上应用操作符“,”,输出操作符可以接受任何内置类型的表达式,包括,const char*,输出操作符还接受标准库,string,和,complex,类类型,bool,类型的输出,缺省情况下,bool,类型的输出为,0,或,1,,而不是文字值,false,和,true,,可以通过应用操作符,boolalpha,来改变这种行为,输出,#include,using namespace std;,int main(),cout “default bool values:”,true “false,“nalpha bool values:”,boolalpha,true “false,”,支持,预定义的输入操作符可以接受任何内置数据类型,包括,C,风格字符串,以及标准库,string,和,complex,类类型,缺省情况下,输出操作符会丢弃任何中间,空白,空格、制表符、换行符、走纸以及回车,如果希望读入空白字符,可以使用,istream,的成员函数,get(),输入,#include,using namespace std;,int main(),char ch;,/,读取每个字符,包括空白字符,while(cin.get(ch),cout.put(ch);,/ostream,的成员函数,put(),常常和,get(),配合使用,/,其他输入,/,输出操作,有时候需把输入流作为一个未经解释的字节序列来读取,而不是作为特定的数据类型的序列,istream,的成员函数,get(),一次可以读入一个字节,get(),有,3,个重载版本,getline(),一次读入连续的一块字节,以换行符结束,或者以用户定义的某个终止字符结束,其他输入,/,输出操作,get(),的第一个版本,get(char&ch),从输入流中提取一个字符,包括空白字符,并将它存储在,ch,中。它返回调用的,istream,对象,和,get(),对应的输出操作是,ostream,的成员函数,put(),,它将,char,型的实参输出到输出流,并返回被调用的,ostream,对象,例:统计输入流上的各种字符,然后将字符输出到输出流(,代码示例,),其他输入,/,输出操作,get(),的第二个版本从输入流读入一个字符,并返回该字符的,int,值,代码示例,get(),的第三个版本,istream,sink,是一个字符数组的首地址,用来存放被读取的字符,size,代表可以从,istream,中读入的字符的最大数目,delimiter,表示,如果遇到这个字符就结束读取的动作,,delimiter,字符本身不被读入,而是留在,istream,中,作为,istream,的下一个字符,可以用,istream,的成员函数,ignore(),来去掉,delimiter,代码示例,其他输入,/,输出操作,istream,的成员函数,getline(),getline(),的使用语法和,get(),的第三种形式相同,不同之处在于,getline(),会从,istream,对象中读取,delimiter,并丢弃它,istream,的成员函数,gcount(),返回,get(),和,getline(),实际从输入流读取的字符个数,原型:istream 函数作用是跳过输入流中n个字符,或在遇到指定的终止字符时提前结束(此时跳过包括终止字符在内的若干字符)。,其他输入,/,输出操作,read(),istream,的成员函数,read(char*addr,streamsize size),可以从输入流中提取,size,个连续的字节,并将其存在首地址为,addr,的内存中。,read(),返回当前调用的,istream,对象,write(),与,read(),相应的是,ostream,的成员函数,write(char*sink,streamsize length),,它输出指定长度的字符数组,write(),返回当前调用的,ostream,对象,代码示例,其他输入,/,输出操作,标准库中的非成员的,getline(),函数可以将字符读入,string,对象中,getline(),的原型,getline(istream,getline(),的行为,读入最大数目为,str:max_size-1,个字符,如果输入序列超出这个限制,则读操作失败,并且,istream,对象被置为错误状态;否则,当读到,delimiter,或遇到文件结束符时,输入结束,delimiter,从,istream,中丢弃,但不读入,string,中,操纵符,每个,iostream,库对象都有一个格式状态,控制格式化输入输出的细节,比如整型数值的进制基数或浮点数的精度,C+,提供了一组预定义的操纵符来修改对象的格式状态,例:以不同进制输出整数(,代码示例,),C+,预定义的,操纵符表,文件输入,/,输出,iostream,库中的文件类,iostream,库提供了三个类类型支持文件操作:,ifstream,,从,istream,类派生,把一个文件连接到程序上用来输入。,ofstream,,从,ostream,类派生,把一个文件连接到程序上用来输出。,fstream,,从,iostream,类派生,把一个文件连接到程序上用来输入和输出。,为了使用,iostream,库的文件流,必须包含相关的头文件:,#include,C+,对文件的输入,/,输出也支持同样的输入和输出操作符,文件输出,为了打开一个用于输出(写)的文件,我们定义一个,ofstream,类的对象,可以在初始化对象时给出文件名,也可以在创建对象后使用,open(),操作打开文件,文件输出,/,以输出模式,ios_base:out,打开文件,copy.txt,/,并将文件连接到,outfile,对象上,ofstream outfile(“copy.txt”);,/,等价于,ofstream outfile(“copy.txt”);,/,也可以使用,open(),操作,:,ofstream outfile2;,outfile2.open(“doc.txt”);,/close(),可以断开文件与,fstream,对象的连接,/,关闭,doc.txt,文件,outfile2.close();,/,还可以使用附加模式打开,ostream,文件,新数据被追加到文件末尾,ofstream outfile3(“append.txt”,ios_base:app);,文件输入,为了打开一个仅用于输入(读)的文件,我们可以使用,ifstream,类对象,文件操作的例子,逐行拷贝文件(,代码示例,),为文件加行号输出(,代码示例,),从文件中提取单词(,代码示例,),内存输入,/,输出,iostream,库的内存输入,/,输出,iostream,还支持内存输入,/,输出,当流被附着在程序内存中的一个字符串上时,我们可以用,iostream,输入和输出操作符来对它进行读写,通过定义下列三个类型中的一个实例来定义一个,iostream,字符串对象:,istringstream,,从,istream,类派生,从一个字符串中读取数据,ostringstream,,从,ostream,类派生,写入到一个字符串中,stringstream,,从,iostream,类派生,从字符串中读取,或者写入到字符串中,要使用这些类,必须包含相关的头文件:,#include,内存输入,/,输出,/,函数将一个文件读入到一个,ostringstream,类对象,buf,中,#include,#include,#include,using namespace std;,string read_file_into_string(),ifstream ifile(“alice.txt”);,ostringstream buf;,char ch;,while(buf&ifile.get(ch),buf.put(ch);,return buf.str();,内存输入,/,输出,ostringstream,的成员函数,str(),返回与,ostringstream,对象相关联的,string,对象,可以用,string,的操作来处理这个对象,istringstream,由一个,string,对象构造得到,它可以读取该,string,对象,istringstream,的一种用法是将数值字符串转换成算术值,代码示例,本章小结,iostream,库提供了一组类进行各种输入,/,输出,终端、文件、内存输入,/,输出,iostream,库是一个利用多继承和虚继承实现的面向对象类层次结构,并作为,C+,标准库的一个组件提供,iostream,为内置数据类型的输入输出提供了支持同时也支持文件的输入输出,类的设计者可以扩展,iostream,库,来读写新的类类型,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!