Welcome

首页 / 软件开发 / C++ / C++ Iostreams用法详解(三)状态标志位

C++ Iostreams用法详解(三)状态标志位2013-11-04 mzorro iostreams中共有四个状态标志位定义在ios_base中,具体如下:

namespace std { class ios_base { public:typedef implementation-defined-bitmask-type iostate;static const iostate badbit;static const iostate eofbit;static const iostate failbit;static const iostate goodbit;... };}
这四个状态标志位的含义为:

iostate含义
badbit记录流缓冲区的完整性缺失(不可挽回)
eofbit从一个流中提取数据时遇到end-of-file(文件尾 )
failbit记录提取有 效字段时失败(如输入的类型不满足,
可通过清除输入缓冲区来挽回)
goodbit当且仅当上面三种情况都没有发生时有效(保证 goodbit的值为0)