【C++】IO库入门
简介
!!!本文的源码均来自于《C++ Primer》第五版!!!(可能会稍作修改)
The source codes in this article are all from C++ Primer, The Fifth Edition
# 1. IO流状态
io对象的传递:io对象不能被拷贝或者赋值。因此,io对象也不能作为函数的形参和返回类型。通常情况下,往函数内传递io对象都要以引用的形式传递。由于函数读写io对象会更改对象值,因此无法将其类型设为const
1.1. 流的状态
条件状态(Condition State):IO流具备一种strm::iostate类型,用于提供当前IO流的状态
- strm::badbit:指流已经崩溃,无法再修复,使用
- strm::failbit:指流中有一个IO操作失败了,但可以修复
- strm::eofbit:指流到达了文件结束(当eofbit被置位时,failbit也会被一同置位)
- strm::goodbit:指流未处于任何错误状态(badbit,failbit,eofbit均被视为错误状态)