gpt4 book ai didi

c++ - 为什么要设置 failbit()?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:28 24 4
gpt4 key购买 nike

创建一个文件并用零填充它:

dd if=/dev/zero of=/tmp/zeroes count=1

编写这个小程序来提取它在文件中遇到的第一个无符号整数。

#include <assert.h>
#include <fstream>

int main()
{
std::ifstream reader( "/tmp/zeroes", std::ios_base::binary );
uint32_t number;
reader >> number;

assert( !reader.fail() );
}

为什么会触发断言?

最佳答案

因为 /dev/zero 提供二进制零,而不是字符'0',并且 >>> 执行(或尝试执行)文本转换。

关于c++ - 为什么要设置 failbit()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22988005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com