- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 流类库与输入/输出;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;状态字state为整型,其的各位在ios中说明:
enum ios_state{
goodbit=0x00, //流正常
eofbit=0x01,
//输入流结束,忽略后继提取操作;或文件结束,已无数据可取
failbit=0x02, //最近的I/O操作失败,流可恢复
badbit=0x04, //最近的I/O操作非法,流可恢复
hardfail=0x08 } // I/O出现致命错误,流不可恢复,VC++不支持
读取状态的有关操作如下:
inline int ios::rdstate() const {return state;} //读取状态字
inline int ios::bad(){ return state badbit;} //返回非法操作位
inline void ios::clear(int _i){ lock();state=_i;unlock();}
//人工设置状态,可用来清状态
inline int ios::eof() const {return stateeofbit;} //返回流结束位
inline int ios::fail() const{return state(badbit|failbit);}
//返回操作非法和操作失败这两位
inline int ios:operator!() const{return state(badbit|failbit);}
//可用操作符!()代替fail()
inline int ios::good() const{return state==0;} //正常返回1 ;18;19;20;21; cout当输入字符时,取得的是:iendl; //输入^Z时,返回EOF,即-1
if(n==0) cin.ignore(255,\n); //清除多余的字符和回车符
cin.clear(0); // A 使流恢复正常
cout输入字符串1:endl;
cin.getline(str,255);
coutendl;
cout状态字为:cin.rdstate()endl;
i=cin.gcount();
cout字符串为:str\t读入字符数为:i\t;
cout串长为:strlen(str)endl;
cin.clear(0); // A
cout输入字符串2:endl;
cin.getline(str,255);
coutendl;
cout状态字为:cin.rdstate()endl;
i=cin.gcount();
cout字符串为:str\t读入字符数为:i\t;
cout串长为:strlen(str)endl; }
注意,若无两个A行,输入^Z时,不再理会余下的所有输入。;输出流成员函数声明:
ostream ostream::put(char); //输出参数字符
ostream ostream::flush(); //刷新一个输出流,用于cout和clog
C++允许用户重载插入和提取运算符“”和“”,以便用户利用标准的输入/输出流来输入/输出自定义的数据类型,实现对象的输入输出。重载必须保留原来的使用特性。重载可在用户定义类中,将重载的运算符的函数说明为该类的友元函数:
friend istream operator(istream,className);
friend ostreamoperator(ostream,className);
函数的返回值为对输入或输出流的引用,这是为了保证在cin和cout中可以连续使用“”或“”运算符,与所有“”和“”重载函数一致。第一个参数也是输入或输出流的应用,作为“”或“”的左操作数;第二个参数为用户定义类的引用,作为右操作数。
;class Complex{
double Real,Image;
public:
Complex(double r=0.0, double i=0.0):Real(r),Image(i){};
friend ostream operator(ostreams,const Complexz)
{
return s(z.Real,z.Image);
}
friend istream operator(istreams,Complexa) {
文档评论(0)