为配合这些错误状态的使用ios中还说明了几个成员函数.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:35 大小:182KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

为配合这些错误状态的使用ios中还说明了几个成员函数.ppt

为配合这些错误状态的使用ios中还说明了几个成员函数.ppt

预览

免费试读已结束,剩余 25 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include<iostream.h>voidmain(){inti,s;charstr[81];cin>>i;s=cin.rdstate();while(s){cin.clear();cin>>str;cout<<"输入错误,重新输入:";cin>>i;s=cin.rdstate();}cout<<i<<endl;}利用ios中重载的运算符!,可以将上述程序写的更简单:intios::operator!(){returnfail();}voidmain(){inti;charstr[81];while(!(cin>>i)){cin.clear();cin>>str;cout<<"输入错误,重新输入:";}cout<<i<<endl;}13.3输入和输出13.3.1格式化输入13.3.2输入操作函数#include<iostream.h>voidmain(){charch,str[81];cin.get(str,81);cout<<str<<endl;while(cin.get()!='\n');//重要!cin>>ch;cout<<ch<<endl;}为了方便字符串的输入,istream中还说明了几个主要用于输入字符串的非格式化成员函数:istream&istream::getline(signedchar*,int,char='\n');istream&istream::getline(unsignedchar*,int,char='\n');istream&istream::ignore(int=1,int=EOF);intistream::gcount();#include<iostream.h>voidmain(){charch,str[81];cin.getline(str,81);cout<<str<<'\t'<<cin.gcount()<<endl;cin>>ch;cout<<ch<<endl;}13.3.3格式化输出13.3.4输出操作函数13.3.5重载提取和插入运算符#include<iostream.h>classX{intx;public:X(inta=0):x(a){}intGet(){returnx;}voidSet(inta){x=a;}friendostream&operator<<(ostream&,X&);friendistream&operator>>(istream&,X&);};ostream&operator<<(ostream&ros,X&rx){ros<<rx.x;returnros;}istream&operator>>(istream&ris,X&rx){ris>>rx.x;returnris;}voidmain(){XaX(10);cout<<aX<<endl;cin>>aX;cout<<aX<<endl;}当编译器遇到语句cout<<aX时,就将它解释为:operator<<(cout,aX);从而导致函数operator(ostream&,X&)的调用。13.4文件流13.4.1C++语言的文件流类体系13.4.2文件的打开与关闭例:ifstreaminf;ofstreamoutf;inf.open("c:\\mydir\\demo.cpp");//以文本流打开demo.cpp。若该文件不存在,则创建它。inf.open("demo.cpp",ios::binary);//以二进制流打开outf.open("demo.cpp");/*以文本流打开demo.cpp。若该文件不存在,则创建它;若文件已经存在,则将其内容清为0。*/outf.open("demo.cpp",ios::binary|ios::app);/*以二进制流打开deno.cpp。无论该文件是否存在,均将文件写指针移到文件尾部。*/outf.open("demo.cpp",ios::nocreate);/*打开demo.cpp,若文件不存在则打开操作失败。*/outf.open("demo.cpp",ios::noreplace|ios::app);/*打开demo.cpp,并将文件写指针移到文件尾部。若删除参数中的ios::app,则表示创建demo.cpp。*/outf