频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

C++的iostream标准库介绍

来源: 作者: 出处:巧巧读书 2007-12-12 进入讨论组
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 下一页 
QQRead:http://www.qqread.com/cpp/p351499.html

  goodbit 无错误

  Eofbit 已到达文件尾

  failbit 非致命的输入/输出错误,可挽回

  badbit 致命的输入/输出错误,无法挽回

  有两种方法可以获得输入/输出的状态信息。一种方法是通过调用rdstate()函数,它将返回当前状态的错误标记。例如,假如没有任何错误,则rdstate()会返回goodbit.

  下例示例,表示出了rdstate()的用法:

//程序作者:管宁  
//站点:www.cndev-lab.com  
//所有稿件均有版权,如要转载,请务必著名出处和作者  
 
#include<iostream> 
usingnamespacestd; 
 
intmain() 
{ 
   inta; 
   cin>>a; 
   cout<<cin.rdstate()<<endl; 
   if(cin.rdstate()==ios::goodbit) 
   { 
     cout<<"输入数据的类型正确,无错误!"<<endl; 
   } 
   if(cin.rdstate()==ios_base::failbit) 
   { 
     cout<<"输入数据类型错误,非致命错误,可清除输入缓冲区挽回!"<<endl; 
   } 
   system("pause"); 
}

  另一种方法则是使用下面任何一个函数来检测相应的输入/输出状态:

bool bad();
bool eof();
bool fail();
bool good();

  下例示例,表示出了上面各成员函数的用法:

//程序作者:管宁 
//站点:www.cndev-lab.com 
//所有稿件均有版权,如要转载,请务必著名出处和作者 
 
#include<iostream> 
usingnamespacestd; 
 
intmain() 
{ 
   inta; 
   cin>>a; 
   cout<<cin.rdstate()<<endl; 
   if(cin.good()) 
   { 
     cout<<"输入数据的类型正确,无错误!"<<endl; 
   } 
   if(cin.fail()) 
   { 
     cout<<"输入数据类型错误,非致命错误,可清除输入缓冲区挽回!"<<endl; 
   } 
   system("pause"); 
}

  如果错误发生,那么流状态既被标记为错误,你必须清除这些错误状态,以使你的程序能正确适当地继续运行。要清除错误状态,需使用clear()函数。此函数带一个参数,它是你将要设为当前状态的标志值。,只要将ios::goodbit作为实参。

更多文章 更多内容请看C/C++技术专题专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章