gpt4 book ai didi

c++ - 使用 ifstream 将二进制数据读入结构

转载 作者:太空狗 更新时间:2023-10-29 21:21:37 25 4
gpt4 key购买 nike

我正在尝试使用 ifstream 从文件中读取二进制数据。

具体来说,我试图用从文件中读取的数据填充这个“Header”结构:

struct Header {
char id[16];
int length;
int count;
};
  1. 现在,如果我以这种方式读取文件,结果正是我想要的:

    input.read((char*)&hdr, sizeof(hdr));
  2. 但如果我改为手动读取结构的每个变量,结果将是乱码:

    input.read((char*)&hdr.id,     sizeof(hdr.id));
    input.read((char*)&hdr.length, sizeof(hdr.length));
    input.read((char*)&hdr.count, sizeof(hdr.count));

我的问题是,这里发生了什么导致这两种方法返回不同的结果?

最佳答案

也可以一步读取结构。

fh.read((char*)&h, sizeof(Header));

关于c++ - 使用 ifstream 将二进制数据读入结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22192254/

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