首页 > 解决方案 > streambuf 如何将错误通知其所有者

问题描述

最后,我做了很多工作来用 C++ 实现我自己的流类。工作快完成了,但还有最后一件事……

您会看到我在 C++ 输入和输出流中发现使用内部 std::streambuf 类,该类正在执行实际写入/读取内容的肮脏工作。我的 streambuf 类正在对文件进行操作,在此期间,有时它可能会进入无法进行任何写入/读取的状态(例如,请求的文件不存在)。

我的问题是,当这种情况发生时,我想将我的 streambuf 设置为错误状态。但我发现 std::streambuf 没有setstate方法。只有 istream 和 ostream 类有它。但是,正如我之前所说,我的 streambuf包含在这些类中。

那么,我怎样才能通知有我的 streambuf 的类我进入了错误状态?

标签: c++

解决方案


推荐阅读