检查流的读写状态
iostate value (member constants) | indicates | functions to check state flags | ||||
---|---|---|---|---|---|---|
good() | eof() | fail() | bad() | rdstate() | ||
goodbit | No errors (zero value iostate) | true | false | false | false | goodbit |
eofbit | End-of-File reached on input operation | false | true | false | false | eofbit |
failbit | Logical error on i/o operation | false | false | true | false | failbit |
badbit | Read/writing error on i/o operation | false | false | true | true | badbit |
注意不能使用eofbit,即fstream.eof()作为读取到文件末尾的判断。因为EOF标志是文件指针读取到文件末尾时自动加上的,不是文件本来的内容。可以使用fstream.peek() != EOF作为替代判断。