- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
可以std::cout
设置 badbit
或 failbit
与接线员 <<
.如果是这样,这是什么时候发生的?
最佳答案
std::cout
映射到较低级别的操作系统设施,任何可能导致操作系统写入失败的东西都将显示为 failbit
或 badbit
。例如,在 Linux 上,您可以通过关闭标准输出来导致这种情况发生:
int main(int argc, char* argv[])
{
close(1);
std::cout << "Hello, world!" << std::endl;
return cout.fail(); // returns 1
}
(而且,由于文件描述符是继承的,您的调用进程可能已经为您关闭了标准输出。)
关于c++ - std::cout 可以使用运算符 << 设置 badbit 或 failbit 吗?如果是这样,什么时候?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26242224/
我有一个自定义的 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 映射到较低级别的操作系统设施,任何可能导致操作系统写入失败的
我是一名优秀的程序员,十分优秀!