欢迎来到天天文库
浏览记录
ID:48031625
大小:559.00 KB
页数:62页
时间:2020-01-13
《C__程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计主讲人:谢昕华东交通大学信息工程学院2008年春季学期第16-17讲C++的I/O流库流抽象的继承结构预定义的插入符与提取符插入符和提取符的重载格式控制符的操作磁盘文件的输入和输出字符串流主要内容I/O流的概念1、流的引入scanf("%d",&a);cin>>a;printf("%d",a);cout<2、据的缓冲支持;istream、ostream、iostream:提取与插入3、C++流的继承结构iosstreambufistreamostreamiostreamI/O流的概念4、文件的继承结构fstreambasefilebufifstreamofstreamfstreamI/O流的概念5、字符串类提供处理内部初始化字符序列的操作;istrstream:从序列中取字符;ostrstream:将字符放入序列;I/O流的概念6、预定义的流cin:istream类对象,处理标准输入,即键盘输入;cout:ostream类对象,处3、理标准输出,即屏幕输出;cerr:ostream类对象,处理标准出错信息,提供不带缓冲区的输出;clog:ostream类对象,处理标准出错信息,提供带缓冲区的输出;I/O流的概念预定义的插入符1、预定义插入符的格式ostream&ostream::operator<<(consttype&obj);其中:type为char、int、short、long类型和它们的unsigned和signed类型,以及float、double、longdouble、char*和void*;2、说明一般情况下将插入符作用于cout对象;输出语4、句中可以串联多个插入运算符,输出多个数据项;[例1]分析下列程序的输出结果。voidmain(){char*str="Hello";inta=100;int*pa=&a;cout<<"*pa="<<*pa<5、5FDECor6684144ThestringisHelloTheaddressis0x00426064or43500523、使用put()输出一个字符ostream&ostream::put(charc);4、使用write()输出n个字符ostream&ostream::write(char*buf,intn);说明:这些成员函数既可用于文本流,也可用于二进制流,尤其适用于二进制流;预定义的插入符[例2]分析下列程序的输出结果。voidmain(){cout<<'a'<<','<<'b'<<'';cout.put('a6、').put(',').put('b').put('');charc1='A',c2='B';cout.put(c1).put(c2).put('');}输出a,ba,bAB[例3]分析下列程序的输出结果。voidPrintString(char*s){cout.write(s,strlen(s)).put('');cout.write(s,6)<<"";}voidmain(){charstr[]="Iloveyou?";cout<<"Thestringis:"<7、tr);PrintString("thisisastring");}Thestringis:Iloveyou?Iloveyou?Ilovethisisastringthisi预定义的提取符1、预定义提取符的格式istream&istream::operator>>(type&obj);2、说明一般情况下将提取符作用于cin对象;输入语句中可以串联多个提取运算符,每个提取符后为一表达式,该表达式是获得输入值的变量或对象;提取操作时,空白符(空格、tab键、换行符)只用于字符的分隔符,而本身不作为从输入流中提取的字符;提取符可从输8、入流中读取一个字符串,该字符串是以空白符结束的一个字符序列,由系统自动加上' '字符;预定义的提取符例4:分析下列程序的输出结果voidmain(){constintSIZE=20;charbuf[SIZE];char*largest;intcurLen,maxLen=-1
2、据的缓冲支持;istream、ostream、iostream:提取与插入3、C++流的继承结构iosstreambufistreamostreamiostreamI/O流的概念4、文件的继承结构fstreambasefilebufifstreamofstreamfstreamI/O流的概念5、字符串类提供处理内部初始化字符序列的操作;istrstream:从序列中取字符;ostrstream:将字符放入序列;I/O流的概念6、预定义的流cin:istream类对象,处理标准输入,即键盘输入;cout:ostream类对象,处
3、理标准输出,即屏幕输出;cerr:ostream类对象,处理标准出错信息,提供不带缓冲区的输出;clog:ostream类对象,处理标准出错信息,提供带缓冲区的输出;I/O流的概念预定义的插入符1、预定义插入符的格式ostream&ostream::operator<<(consttype&obj);其中:type为char、int、short、long类型和它们的unsigned和signed类型,以及float、double、longdouble、char*和void*;2、说明一般情况下将插入符作用于cout对象;输出语
4、句中可以串联多个插入运算符,输出多个数据项;[例1]分析下列程序的输出结果。voidmain(){char*str="Hello";inta=100;int*pa=&a;cout<<"*pa="<<*pa<5、5FDECor6684144ThestringisHelloTheaddressis0x00426064or43500523、使用put()输出一个字符ostream&ostream::put(charc);4、使用write()输出n个字符ostream&ostream::write(char*buf,intn);说明:这些成员函数既可用于文本流,也可用于二进制流,尤其适用于二进制流;预定义的插入符[例2]分析下列程序的输出结果。voidmain(){cout<<'a'<<','<<'b'<<'';cout.put('a6、').put(',').put('b').put('');charc1='A',c2='B';cout.put(c1).put(c2).put('');}输出a,ba,bAB[例3]分析下列程序的输出结果。voidPrintString(char*s){cout.write(s,strlen(s)).put('');cout.write(s,6)<<"";}voidmain(){charstr[]="Iloveyou?";cout<<"Thestringis:"<7、tr);PrintString("thisisastring");}Thestringis:Iloveyou?Iloveyou?Ilovethisisastringthisi预定义的提取符1、预定义提取符的格式istream&istream::operator>>(type&obj);2、说明一般情况下将提取符作用于cin对象;输入语句中可以串联多个提取运算符,每个提取符后为一表达式,该表达式是获得输入值的变量或对象;提取操作时,空白符(空格、tab键、换行符)只用于字符的分隔符,而本身不作为从输入流中提取的字符;提取符可从输8、入流中读取一个字符串,该字符串是以空白符结束的一个字符序列,由系统自动加上' '字符;预定义的提取符例4:分析下列程序的输出结果voidmain(){constintSIZE=20;charbuf[SIZE];char*largest;intcurLen,maxLen=-1
5、5FDECor6684144ThestringisHelloTheaddressis0x00426064or43500523、使用put()输出一个字符ostream&ostream::put(charc);4、使用write()输出n个字符ostream&ostream::write(char*buf,intn);说明:这些成员函数既可用于文本流,也可用于二进制流,尤其适用于二进制流;预定义的插入符[例2]分析下列程序的输出结果。voidmain(){cout<<'a'<<','<<'b'<<'';cout.put('a
6、').put(',').put('b').put('');charc1='A',c2='B';cout.put(c1).put(c2).put('');}输出a,ba,bAB[例3]分析下列程序的输出结果。voidPrintString(char*s){cout.write(s,strlen(s)).put('');cout.write(s,6)<<"";}voidmain(){charstr[]="Iloveyou?";cout<<"Thestringis:"<7、tr);PrintString("thisisastring");}Thestringis:Iloveyou?Iloveyou?Ilovethisisastringthisi预定义的提取符1、预定义提取符的格式istream&istream::operator>>(type&obj);2、说明一般情况下将提取符作用于cin对象;输入语句中可以串联多个提取运算符,每个提取符后为一表达式,该表达式是获得输入值的变量或对象;提取操作时,空白符(空格、tab键、换行符)只用于字符的分隔符,而本身不作为从输入流中提取的字符;提取符可从输8、入流中读取一个字符串,该字符串是以空白符结束的一个字符序列,由系统自动加上' '字符;预定义的提取符例4:分析下列程序的输出结果voidmain(){constintSIZE=20;charbuf[SIZE];char*largest;intcurLen,maxLen=-1
7、tr);PrintString("thisisastring");}Thestringis:Iloveyou?Iloveyou?Ilovethisisastringthisi预定义的提取符1、预定义提取符的格式istream&istream::operator>>(type&obj);2、说明一般情况下将提取符作用于cin对象;输入语句中可以串联多个提取运算符,每个提取符后为一表达式,该表达式是获得输入值的变量或对象;提取操作时,空白符(空格、tab键、换行符)只用于字符的分隔符,而本身不作为从输入流中提取的字符;提取符可从输
8、入流中读取一个字符串,该字符串是以空白符结束的一个字符序列,由系统自动加上' '字符;预定义的提取符例4:分析下列程序的输出结果voidmain(){constintSIZE=20;charbuf[SIZE];char*largest;intcurLen,maxLen=-1
此文档下载收益归作者所有