c++的IO类

CPP的IO类

继承图:

IO对象不能拷贝或赋值

istream in = cin; //错!
istream &in = cin; //正确!

IO对象的状态

  • strm::good:读正常
  • strm::fail:读失败,但可以恢复,例如:一个整数类型的变量读到了字母。
  • strm::eof:读到文件尾。
  • strm::bad:系统级错误,不可恢复。

可以用cin.rdstate()得到当前状态,返回类型是strm::iostatestrm是IO对象类型,例如istream

或者使用s.good(), s.fail(), s.eof(), s.bad(),如果对应的位被置1,则返回true

s.clear()清除当前状态。

文件IO

fstream fstrm(path, mod)

  • path可以是C风格字符串或者string。
  • mod有in, out, app, ate, trunc, binary

mod缺省,ifstream默认用in,ofstream默认用out。

out默认丢弃已有数据,若要保留用out打开的文件内容,必须同时指定app或者in。

app默认指定out。

posted @ 2022-03-03 10:57  hellozhangjz  阅读(56)  评论(0)    收藏  举报