IO条件状态

1、IO标准库管理一系列条件状态成员,用来标记给定的IO对象是否处于可用状态,或者碰到了哪种特定的错误。所有流对象都包含一个条件状态成员,该成员由setstate和clear操作管理。

2、badbit标志着系统级的故障,如无法恢复的读写错误。
如果出现的是可恢复的错误,如在希望获得数值型数据时输入了字符,此时则设置failbit标志。
eofbit是在遇到文件结束符时设置的,此时同时还设置了failbit。
流的状态由bad、fail、eof和good操作揭示。如果bad、fail或者eof中的任意一个为true,则检查流本身将显示该流处于错误状态。如果这三个条件没有一个为true,则good操作将返回true。
clear操作将条件重设为有效状态。
rdstate成员函数返回一个iostate类型的值,该值对应于流当前的整个条件状态。

3、输出缓冲区的管理
1)endl操作符,用于输出一个换行符并刷新缓冲区。
2)flush操作符,用于刷新流,但不在输出中添加任何字符。
3)ends操作符,在缓冲区中插入空字符null,然后刷新它。
4)如果需要刷新所有输出,最好使用unitbuf操纵符,这个操纵符在每次执行完写操作后都刷新流。
        nounitbuf操纵符将流恢复为使用正常的,由系统管理的缓冲区刷新方式。
5)将输入和输出绑在一起:当输入流与输出流绑在一起时,任何读输入流的尝试都将首先刷新其输出流关联的缓冲区。
tie函数可用istream或ostream对象调用,使用一个指向ostream对象的指针形参,调用tie函数时,将实参流绑在调用该函数的对象上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值