w代表宽字符,f代表file,s代表string,但指的是内存string对象。
其类型的不同并不会影响使用,通过继承机制,我们可以像如普通操作iostream一样操作fstream和sstream。
IO对象无初始化参数,无法拷贝也无法赋值。
由于在输入或输出时会改变状态,因此返回的是非const引用。
$cin>>a$返回的实际是$!\ cin.fail()$
当一个流发生错误,这个流就不能被继续使用了。
因为它进入了错误状态。
描述IO流对象的状态总共有4个,由四个位表示,分别是
因此,goodbit与failbit是正好相对的。
置位:将该位变为1
复位:将该位变为0
这四种状态被存储在iostate中,可以通过rdstate()来获取当前的iostate。
通过4个分别检测四种状态的情况的函数,即可对应进行检测。