1. 定义:流有状态,表示是否出错。

eg. 通常在使用它时要测试它的状态:

while (cin >> word)

注:只有在非错误状态下,stream才能被读写

2. 流的状态值

strm::iostate 机器相关的整型名,由各个iostream类定义,用于定义条件状态
strm::badbit strm::iostate 类型的值, 流已崩溃
strm::failbit strm::iostate 类型的值,用于指出失败的IO操作int ival;cin >> ival;
strm::eofbit strm::iostate 类型的值,用于指出流已经到达文件结束符
s.eof() 如果设置了流 s 的 eofbit 值,则该函数返回true
s.fail() 如果设置了流 s 的 failbit 值,则该函数返回true
s.bad() 如果设置了流 s 的 badbit 值,则该函数返回 true
s.good() 如果流 s 处于有效状态,则该函数返回 true

3. 四个流状态函数

s.clear() 将流 s 中的所有状态值都重设为有效状态
s.clear(flag) 将流s中的某个指定条件状态设置为有效。flag的类型是strm::iostate
s.setstate(flag) 给流 s 添加指定条件。flag 的类型是 strm::iostate
s.rdstate() 返回流 s 的当前条件,返回值类型为 strm::iostate

eg. 多个状态位可以用按位与(AND)或按位或操作(OR)来一起设置。

is.setstate(ifstream::badbit | ifstream::failbit);

C++ Primer 5th笔记(8)chapter8 类:IO库-流的状态相关推荐

  1. C++ Primer 5th笔记(chap 17 标准库特殊设施)多字节低层IO操作

    1. 多字节操作 一些未格式化 IO 操作一次处理大块数据,这些操作要求我们自己分配并管理用来保存和提取数据的字符数组 操作 解释 is.get(sink, size, delim) 从is中读取最多 ...

  2. C++ Primer 5th笔记(chap 17 标准库特殊设施)bernoulli_distribution 类

    1. 定义 一个普通类, 而非模板. 此分布总是返回一个 bool 值. 它返回 true 的概率是一个常数, 此概率的默认值是 0.5 string resp; default_random_eng ...

  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式类和输入序列类型

    1. 多种类型的输入 可以搜索多种类型的输入序列. RE 库为这些不同的输入序列类型都定义了对应的类型,eg. 普通 char 数据.wchar_t 数据 字符可以保存在标准库string或是 cha ...

  4. C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符

    1. 控制浮点数格式 可以控制浮点数输出三个种格式 • 以多高精度( 多少个数字) 打印浮点值 • 数值是打印为十六进制. 定点十进制还是科学记数法形式 • 对于没有小数部分的浮点值是否打印小数点 1 ...

  5. C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型

    1. 提取 bitset 的值 函数返回一个值,保存了与bitset 对象相同的位模式. to_ulong() // 返回unsigned long to_ullong() //返回unsigned ...

  6. C++ Primer 5th笔记(chap 17 标准库特殊设施)未格式化的输入/输出操作

    1. 格式化IO 输入和输出运算符(<< 和>>)根据读取或写入的数据类型来格式化它们. 输入运算符忽略空白符 输出应用补白 精度等规则操作 2. 未格式化 IO (unfor ...

  7. C++ Primer 5th笔记(chap 17 标准库特殊设施)随机数

    1. 场景: rand 生成随机数 此函数生成均匀分布的伪随机整数, 每个随机数的范围在 0 和一个系统相关的最大值( 至少为 32767) 之间. 1.1 问题: 一些应用需要随机浮点数. 一些程序 ...

  8. C++ Primer 5th笔记(chap 17 标准库特殊设施)匹配标志

    1. 用来控制匹配和格式的标志 标准库还定义了用来在替换过程中控制匹配或格式的标志,这些标志可以传递给函数 regex_search 或 regex_match 或是类 smatch 的 format ...

  9. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式错误

    1. 指定或使用正则表达式时的错误 如果我们编写的正则表达式存在错误, 则在运行时标准库会抛出一个类型为regex 的异常 eg. try {// alnum右括号少了一个, 构造函数会抛出异常reg ...

最新文章

  1. 1.4 Padding-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  2. 遇到洋妞不敢搭讪,程序员的羞涩你不懂
  3. 最长上升子序列(Longest increasing subsequence)
  4. uda 3.C++二维向量
  5. 一文读懂阿里云数据库Autoscaling是如何工作的
  6. 枣庄三中高考2021成绩查询,2021枣庄中考成绩查询系统入口
  7. springcloud多租户实现原理-Saas多租户实现-以及几种方案_设计思路---springcloud工作笔记108
  8. spark union 会引起shuffle吗_脑鸣不是耳鸣 会引起听力下降吗?
  9. tyvj P4879骰子游戏-美国70分
  10. zuul业务检查相关模块
  11. 基于Cisco CDP协议的家用路由器以及盒子的自动配置随想
  12. 在Unity中模拟汽车的移动
  13. 左神算法:找到二叉树中的最大搜索二叉子树(树形dp套路,Java版)
  14. 用计算机处理表格信息教案,表格信息的加工与表达教案
  15. 减半技术实现求a的n次幂
  16. (附源码)springboot社区养老医疗服务平台 毕业设计 041148
  17. 【计算机毕业设计】030甘肃非物质文化网站的设计与开发
  18. python制作翻译小软件_如何基于Python制作有道翻译小工具
  19. 微信电脑版无法获取二维码
  20. 计算机网络中传输速率最快的,计算机网络中常用的传输介质中传输速率最快的是什么...

热门文章

  1. oracle11gr2 active data guard,Oracle11gR2 Aactive DataGuard(手动)装配部署及维护文档(三)之升级及rman...
  2. 柴油发电机并机母线之间母联的设置分析
  3. 2020年全球数据中心基础设施收入1650亿美元
  4. 最全的电气设备故障诊断法
  5. python和r语言比较_Python和R语言之分析对比 - 数据分析
  6. 编程笔试(解析及代码实现):求出一个整数中各位数上所包含全部质数之和
  7. 成功解决The NVIDIA driver on your system is too old (found version 9010). Please update your GPU driver
  8. CUDA:利用Pytorch查看自己电脑上CUDA版本及其相关信息
  9. ML之ME/LF:机器学习中的模型评估指标/损失函数(连续型/离散型)的简介、损失函数/代价函数/目标函数之间区别、案例应用之详细攻略
  10. Ubuntu:成功解决ubuntu使用su切换root出现Authentication failure用户时认证失败