c++标准库流状态一览

本文介绍了C++标准库中的流状态,包括流状态的四种类型,它们在ios_base类中的枚举_Ios_Iostate中定义。此外,文章还讲解了流状态的相关操作函数,如setstate、clear和good函数,这些函数用于设置、清除和检查流的状态。内容涵盖了基本的流状态管理和其在basic_ios类中的实现。
摘要由CSDN通过智能技术生成
1. 流状态说明

c++标准库对于流定义了一套它自己的状态变化规则,在ios_base.h声明的ios_base类中,它定义了一个枚举类型_Ios_Iostate来表示流状态,主要有以下四种:

状态 说明
badbit 在输入输出时遇到了系统级错误,会置为badbit
eofbit 读取文件时读到了文件末尾,就会置为eofbit
failbit 往流缓冲区写入或者读取数据发生错误时,会被置为failbit
goodbit 上面三种都没有时,就是goodbit

另外ios_base另外定义了一个保护成员iostate _M_streambuf_state;来表示当前流的状态。

2. 流状态操作函数

对于流状态操作函数,是定义在类basic_ios类中,它是ios_base的派生类,位于头文件basic_ios.h中,这里不讨论basic_ios类的使用,只说明它里面定义的状态操作函数.

说明:枚举类型_Ios_Iostate取了个别名,叫iostate。

函数原型如下:

//返回当前流状态  
iostate
  rdstate() const
  { return _M_streambuf_state; }

//默认清除所有异常状
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpp加油站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值