CPP的IO类
继承图:
istream in = cin; //错! istream &in = cin; //正确!
strm::good
:读正常strm::fail
:读失败,但可以恢复,例如:一个整数类型的变量读到了字母。strm::eof
:读到文件尾。strm::bad
:系统级错误,不可恢复。可以用cin.rdstate()
得到当前状态,返回类型是strm::iostate
,strm
是IO对象类型,例如istream
。
或者使用s.good(), s.fail(), s.eof(), s.bad()
,如果对应的位被置1,则返回true
。
s.clear()
清除当前状态。
fstream fstrm(path, mod)
。
in, out, app, ate, trunc, binary
。mod缺省,ifstream默认用in,ofstream默认用out。
out默认丢弃已有数据,若要保留用out打开的文件内容,必须同时指定app或者in。
app默认指定out。