- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个自定义的 std::streambuf
。像这样的东西:
class mybuf : public std::streambuf {
...
virtual std::streambuf::int_type underflow() {
if(eof) {
return traits_type::eof();
}
...
}
...
std::istream stream(new mybuf(...));
通过在 underflow()
函数上返回 eof 来设置流的 eof
标志。
如何设置流的 badbit
标志? overflow()
函数应该抛出异常吗?
最佳答案
抛出异常确实是可行的方法。
引用页面std::ios_base::iostate
,特别是这个:
The
badbit
is set by the following standard library functions:
- ...
- Every stream I/O function if an exception is thrown by any member function of the associated stream buffer (e.g.
sbumpc()
,xsputn()
,sgetc()
,overflow()
, etc)- ...
关于c++ - 如何通过自定义的 streambuf 设置流的 badbit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50716688/
我有一个自定义的 std::streambuf。像这样的东西: class mybuf : public std::streambuf { ... virtual std::streambuf
是否调用 ifstream::close重置流的 failbit 和/或 badbit,类似于调用 clear ?这不是 this question 的拷贝- 我需要知道标志是否被重置,而不仅仅是它们
我目前正在为我的路径追踪器开发基础框架。我正在尝试创建一个简单的二进制模型加载器(读取和写入),但我在回读文件时遇到了问题。提供更多背景信息: 写入我的数据似乎进展顺利,即没有抛出异常并且文件大小似乎
std::stringstream 中可能出现的错误是什么? 具体来说,std::stringstream 派生自 std::ios,这意味着它有一个 std::ios::rdstate。在 std:
过去几个小时我一直在尝试调试我的代码,但我无法找出问题所在。我最终将我的文件流设置为在 failbit 上抛出异常,我发现我的文件流出于某种原因正在设置 failbit。我完全不知道为什么要设置 fa
我正在研究 libstdc++ 代码并且很惊讶 it sets the badbit on a stream当 operator>>或 operator<<被 pthread 的取消点打断(如果我理解
我有解析配置文件的代码,如果出现错误,它可能会将输出发送到 stdout 或 stderr。 不幸的是,当我将程序的输出通过管道传输到/dev/null 时,出现异常:ios_base::clear:
我正在调查 this question而且我对给出的两个答案的理解没有问题。但我不确定我是否理解下面用注释 //set state 突出显示的语句中的 s.clear(ios::badbit);。例如
可以std::cout设置 badbit或 failbit与接线员 << .如果是这样,这是什么时候发生的? 最佳答案 std::cout 映射到较低级别的操作系统设施,任何可能导致操作系统写入失败的
我是一名优秀的程序员,十分优秀!