gpt4 book ai didi

c++ - 将 unsigned int 写入二进制文件

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

我第一次使用二进制文件,我的手上有一撮头发。无论如何,我有以下定义:

unsigned int cols, rows;

这些变量可以是 1 到大约 500 之间的任何值。当我将它们写入二进制文件时,我正在这样做:

    myFile.write(reinterpret_cast<const char *>(&cols), sizeof(cols));
myFile.write(reinterpret_cast<const char *>(&rows), sizeof(rows));

当我返回读取文件时,在 cols = 300 上,我得到的结果是:

44
1
0
0

有人可以向我解释为什么我会得到这个结果吗?我不能说有什么不对,因为我真的认为是我不懂事。我想做的是按原样将值存储在文件中,这样当我读回它时,我也能得到它。也许我知道,我只是不知道。

我想解释一下这是如何工作的,以及我如何获取读回的数据。

最佳答案

您只是在查看在小端平台上解释的 32 位整数的四个字节。

300 base 10 = 0x12C

所以小字节序给你 0x2C 0x01,当然还有 0x2C=44

关于c++ - 将 unsigned int 写入二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17057307/

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