流对象具有几个标志位,用来指明流对象的当前状态。所有的流对象都有一组状态位,用来指明流当前状态,表2-4列出了这些标记。

这些状态位可以采用表2-5中的函数成员进行检测。表中的clear()函数可以用来清除状态位。

程序中的showState函数采用一个引用做参数,通过eof()、fail()、bad()和good()等函数成员的返回值 ,显示流对象的当前状态。它首先创建一个文件stuff.dat,将整数10写到文件中,并关闭文件。然后以读方式打开文件,并读取一个整数,由于该文件中只有一个数,因此在第2次读取时将出现错误。