• check if a state is ok

    while(cin >> word)
    // ok: read successful

  • condition states are constants defined in ios_base as public members
    • ios_base::badbit : corrupted.

      • set when the error involves the loss of integrity of the stream, which is likely to persist even if a different operation is attempted on the stream.
      • indicates a system-level failure, such as an unrecoverable read or write error.
      • usually not possible to use a stream once badbit has been set.
    • ios_base::failbit : failed.
      • set by an operation when the error is related to the internal logic of the operation itself; further operations on the stream may be possible.
      • is set after a recoverable error, such as reading a character when numeric data was expected.
      • often possible to correct such problems and continue using the stream.
    • ios_base::eofbit : hit end-of-file.
    • ios_base::goodbit : not in an error state.
      • indicating none of the other bits is set.
  • Note
    • At least one of failbit and badbit is set when an error occured during an input operation.
    • Failing to read due to reaching the end-of-file sets both eofbit and failbit.
    • fail() is a synonym of ios::operator!
  • checks
    • s.bad() : eofbit is set.
    • s.fail() : failbit or badbit is set.
    • s.eof() : eof is set.
    • s.good() : none of above three states is set.
    • s.is_open() :
    • s.clear() : reset all condition values in the stream to valid state.
  • operation on flags
    • retrieve : basic_ios::rdstate
    • set : basic_ios::setstate
  • about types:
    • std::ios_base::iostate is type for stream error state flags

References:

  1. http://www.cplusplus.com/reference/ios/ios/fail/
  2. http://www.cplusplus.com/reference/ios/ios/operator_not/
  3. http://stackoverflow.com/questions/6255339/checking-if-a-file-opened-successfully-with-ifstream
  4. http://www.cplusplus.com/forum/beginner/6033/
  5. http://www.cplusplus.com/doc/tutorial/files/

right way check file open and end的更多相关文章

  1. 电脑每次开机都出现check file system on:C 的解决办法

    电脑每次开机都出现check file system on:C 的解决办法... ----------------------------------------- ----------------- ...

  2. windows安装dcm4chee 出错 check file system group LOSSY_STORAGE for deletion

    错误情景: 解决方法: 更改服务的监听端口(参考DICOM:Ubuntu14环境下安装dcm4chee+oviyam2.1)

  3. 12 Useful “df” Commands to Check Disk Space in Linux

    On the internet you will find plenty of tools for checking disk space utilization in Linux. However, ...

  4. Analysis about different methods for reading and writing file in Java language

    referee:Java Programming Tutorial Advanced Input & Output (I/O) JDK 1.4+ introduced the so-calle ...

  5. error_Could not load file or assembly

    原文链接 Could you be missing the loaded assembly from your configuration file? Ensure you have somethin ...

  6. udev example -- detect usb and write test file

    之前学习了下Udev,就随便做了个测试小程序.....设计什么的也没考虑,就实现了一个基本功能,插入U盘,识别,循环检测到有特定文件后,就然后往U盘里面写数据,插拔多次,都能正常工作. 里面的warn ...

  7. Fix Scheduled Task Won’t Run for .BAT File

    Step 1: Check File/Folder Permissions The first step to fixing this issue is ensuring that the accou ...

  8. 使用Monit监控本地进程

    目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警 安装不细写了,网上好多 我先用cat /proc/version看了下我的系统是el6的,于是wget http: ...

  9. SSD框架训练自己的数据集

    SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...

随机推荐

  1. C语言中的memset函数和数组指针

    代码: #include <iostream> #include <cstring> using namespace std; int main(){ ] = {}; mems ...

  2. Reverse digits of an integer.

    class Solution { public: int reverse(int x) { ;//long 是怕中间过程溢出 <<,max=-min-){ ans=ans*+x%; x=x ...

  3. ORA-01722: invalid number,ORA-12801

    SQL: SELECT /*+ parallel(a,32) */ a.id ,a.data_date ,a.mobile_num ,a.mobile_code ,b.prov AS mobile_p ...

  4. 怎样利用putty登陆SSH主机方法

    PuTTY 是一套免费的SSH / Telnet 程序,是在Windows 32平台下的telnet.rlogin和ssh客户端,它是一个跨平台的远程登录工具 下载putty成功后,双击打开Putty ...

  5. HTML5画布(矩形)

    canvas元素用于绘制图形. canvas元素是HTML5中新增的一个重要元素,元素本身是没有绘图能力,所有的绘制工作必须在javascript内部完成. 案例1: <!DOCTYPE htm ...

  6. 自定义View—坐标系

    一.android默认坐标系 二.View 的 getXxx()的坐标系 三.event的坐标系

  7. python计算机视觉1:基本操作与直方图

    本文主要内容来源于书籍<python计算机视觉编程> 我是一名初学者,如果你发现文中有错误,请留言告诉我,谢谢 PIL模块 PIL模块全程为Python Imaging Library,是 ...

  8. NAS4Free 安装配置(一)开箱图

    拆箱记录 东西不错,做工很好 包装箱 背面 正面(未装前面板) 底部 前面板打开后 打开上盖 开机正面图

  9. 唯品会安卓版app分析

    .................................................................................................... ...

  10. yii CMenu的配置(导航栏)

    给主键的li 和a标签添加元素$this->myMenu = array( 'id'=>'myMenu', 'items'=>array( array( 'label'=>'H ...