right way check file open and end
check if a state is ok
while(cin >> word)
// ok: read successful- condition states are constants defined in
ios_base
as public membersios_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
andbadbit
is set when an error occured during an input operation. - Failing to read due to reaching the end-of-file sets both
eofbit
andfailbit
. fail()
is a synonym ofios::operator!
- At least one of
- checks
s.bad()
:eofbit
is set.s.fail()
:failbit
orbadbit
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
- retrieve :
- about types:
std::ios_base::iostate
is type for stream error state flags
References:
- http://www.cplusplus.com/reference/ios/ios/fail/
- http://www.cplusplus.com/reference/ios/ios/operator_not/
- http://stackoverflow.com/questions/6255339/checking-if-a-file-opened-successfully-with-ifstream
- http://www.cplusplus.com/forum/beginner/6033/
- http://www.cplusplus.com/doc/tutorial/files/
right way check file open and end的更多相关文章
- 电脑每次开机都出现check file system on:C 的解决办法
电脑每次开机都出现check file system on:C 的解决办法... ----------------------------------------- ----------------- ...
- windows安装dcm4chee 出错 check file system group LOSSY_STORAGE for deletion
错误情景: 解决方法: 更改服务的监听端口(参考DICOM:Ubuntu14环境下安装dcm4chee+oviyam2.1)
- 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, ...
- 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 ...
- error_Could not load file or assembly
原文链接 Could you be missing the loaded assembly from your configuration file? Ensure you have somethin ...
- udev example -- detect usb and write test file
之前学习了下Udev,就随便做了个测试小程序.....设计什么的也没考虑,就实现了一个基本功能,插入U盘,识别,循环检测到有特定文件后,就然后往U盘里面写数据,插拔多次,都能正常工作. 里面的warn ...
- 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 ...
- 使用Monit监控本地进程
目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警 安装不细写了,网上好多 我先用cat /proc/version看了下我的系统是el6的,于是wget http: ...
- SSD框架训练自己的数据集
SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...
随机推荐
- C语言中的memset函数和数组指针
代码: #include <iostream> #include <cstring> using namespace std; int main(){ ] = {}; mems ...
- Reverse digits of an integer.
class Solution { public: int reverse(int x) { ;//long 是怕中间过程溢出 <<,max=-min-){ ans=ans*+x%; x=x ...
- 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 ...
- 怎样利用putty登陆SSH主机方法
PuTTY 是一套免费的SSH / Telnet 程序,是在Windows 32平台下的telnet.rlogin和ssh客户端,它是一个跨平台的远程登录工具 下载putty成功后,双击打开Putty ...
- HTML5画布(矩形)
canvas元素用于绘制图形. canvas元素是HTML5中新增的一个重要元素,元素本身是没有绘图能力,所有的绘制工作必须在javascript内部完成. 案例1: <!DOCTYPE htm ...
- 自定义View—坐标系
一.android默认坐标系 二.View 的 getXxx()的坐标系 三.event的坐标系
- python计算机视觉1:基本操作与直方图
本文主要内容来源于书籍<python计算机视觉编程> 我是一名初学者,如果你发现文中有错误,请留言告诉我,谢谢 PIL模块 PIL模块全程为Python Imaging Library,是 ...
- NAS4Free 安装配置(一)开箱图
拆箱记录 东西不错,做工很好 包装箱 背面 正面(未装前面板) 底部 前面板打开后 打开上盖 开机正面图
- 唯品会安卓版app分析
.................................................................................................... ...
- yii CMenu的配置(导航栏)
给主键的li 和a标签添加元素$this->myMenu = array( 'id'=>'myMenu', 'items'=>array( array( 'label'=>'H ...