- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.6.2 流的格式控制和错误处理 2.使用格式算子 C++提供了一些格式算子来简化上述操作。格式算子是一个对象,可以直接用插入符或提取符来操作。C++提供的预定义格式算子如表2.2所示。 格 式 算 子 功 能 输入(I)/输出(O) dec 设置为十进制 I/O hex 设置为十六进制 I/O oct 设置为八进制 I/O ws 提取空白字符 I endl 插入一个换行符 O ends 插入一个空字符 O flush 刷新输出流 O setbase(int) 设置转换基数,参数值可以是0、8、16和10,0表示默认基数 I/O resetiosflags(long) 取消指定的标志 I/O setiosflags(long) 设置指定的标志 I/O setfill(int) 设置填充字符 O setprecision(int) 设置浮点数的精度 O setw(int) 设置输出宽度 O 【例Ex_Formator】 使用格式算子 2.6.2 流的格式控制和错误处理 3.流的错误处理 在ios类中,定义了一个公有枚举成员io_state来记录各种错误的性质: enum io_state { goodbit = 0x00, // 正常 eofbit = 0x01, // 已达到文件尾 failbit = 0x02, // 操作失败 badbit = 0x04 // 非法操作 }; 在ios类中又定义了检测上述流状态的下列成员函数: int ios::rdstate(); // 返回当前的流状态,它等于io_state中的枚举值 int ios::bad(); // 如果badbit位被置1,返回非0 void ios::clear(int); // 清除错误状态 int ios::eof(); // 返回非0表示提取操作已到文件尾 int ios::fail(); // 如果failbit位被置1,返回非0 int ios::good(); // 操作正常时,返回非0 2.6.2 流的格式控制和错误处理 【例Ex_ManipError】 检测流的错误 #include iostream.h int main() { int i, s; char buf[80]; cout输入一个整数:; cini; s = cin.rdstate(); cout流状态为:hexsendl; while (s) { cin.clear(); cin.getline(buf, 80); cout非法输入,重新输入一个整数:; cini; s = cin.rdstate(); } return 0; } 2.6.2 流的格式控制和错误处理 程序运行结果如下: 输入一个整数:a? 流状态为:2 非法输入,重新输入一个整数:abcd? 非法输入,重新输入一个整数:12? 2.6.3 使用输入/输出成员函数 1.输入操作的成员函数 数据的输入/输出可以分为三大类:字符类、字符串和数据。 (1)使用get和getline函数 用于输入字符或字符串的成员函数get原型如下: int get(); istream get( char rch ); istream get( char* pch, int nCount, char delim = \n ); 第1种形式是从输入流中提取一个字符,并转换成整型数值。第2种形式是从输入流中提取字符到rch中。第3种形式是从输入流中提取一个字符串并由pch返回,nCount用来指定提取字符的最多个数,delim用来指定结束字符,默认时是\n。 函数getline原型如下: istream getline( char* pch, int nCount, char delim = \n ); 2.6.3 使用输入/输出成员函数 【例Ex_GetAndGetLine】 get和getline的使用 程序运行结果如下: 请输入一个字符:A? 65 请输入一行字符串:This is a test!? This is a test! 请输入一行字符串:Computer? Computer 请输入一行字符串:你今天过得好吗?? 你今天过得好吗? 2.6.3 使用输入/输出成员函数 (2)使用read函数 read函数不仅可以读取字符或字符串(称为文本流),而且可以读取字节流。其原型如下: istream read( char* pch, int nCount ); istream read( unsigned char* puch, int nCount );
您可能关注的文档
- 第22课文学的繁荣(3267KB).ppt
- 第22课文学的繁荣赵万丽(2687KB).ppt
- 第22课文学史学与宗教课件(4999KB).ppt
- 第22课与朱元思书与朱元思书第二课时(3655KB).ppt
- 第22课与朱元思书与朱元思书第一课时(1135KB).ppt
- 第22章22.1一元二次方程(838KB).ppt
- 第22章22.2.1.1直接开平方法和简单的因式分解法(885KB).ppt
- 第22章22.2.1.2较复杂的因式分解法解一元二次方程(917KB).ppt
- 第22章22.2.1直接开平方法和因式分解法(1597KB).ppt
- 第22章22.2.2配方法(1604KB).ppt
最近下载
- 《地下工程防水技术规范》XX50108-2008正文精华版.doc VIP
- 颞下颌关节.ppt VIP
- 第12课《班级电子纪念册设计》课件共16页.pptx
- (2025秋新版)人教版三年级数学上册全册教案.doc
- IPC-6012F 2023 EN,刚性印制板性能要求Qualification and Performance Specification for Rigid Printed Boards.pdf VIP
- 部编版八年级历史上册第2课《第二次鸦片战争》测试题(含答案) .pdf
- 某企业人才盘点项目启动会.pptx VIP
- 2025届高考数学命题趋势分析与备考策略指导及新质课堂建设课件.pptx VIP
- 2024年中国企业出海洞察及全球趋势展望报告.pdf VIP
- 133附件安全生产费用使用计量支付管理细则.doc VIP
文档评论(0)