复习小记----第8章 标准IO

来源:互联网 发布:免费种子解析软件 编辑:程序博客网 时间:2024/06/06 23:51

1.        IO对象不可复制或赋值,所以它不能被存储在vector或其他容器中,而不能作为形参或返回值,若需传递或返回IO对象,只能传递IO对象的指针或引用。

2.        关于IO标准库中的条件状态:badbit标志着系统级的故障,出现这类错误后流通常就不能再继续使用了;failbit标志着可修正的问题发生,可以通过stream.clear()方法来使其恢复;eofbit指示流达到了文件结尾。如果上述3者有任意一个为true,则流不能不使用。

一个恢复cin流的程序:

void main(){         int i;                 //逗号表达式:依次计算每一个表达式的内容,并返回最后一个的值         while(cin>>i,1)         {                   cout<<i<<endl;                   //判断failbit是否被置位                   if(cin.fail())                   {                            cerr<<"io fails!"<<endl;                             //恢复cin,或用cin.clear();                            cin.clear(istream::failbit^cin.rdstate());                                                       //忽略位于输入缓冲区的错误字符,若不进                            //行此操作错误字符会被再次传给cin导致错误重演                            cin.ignore();                   }         }         system("pause");}



 

原创粉丝点击