gpt4 book ai didi

c++ - 从 .dat 文件中读取 2 个字节

转载 作者:行者123 更新时间:2023-11-28 07:58:29 26 4
gpt4 key购买 nike

我有一个这样存储的数据文件:

6 字节(3*16 位) header 。- 字节 0+1(16 位):x 维度- 字节 2+3(16 位):y 维度- 字节 4+5(16 位):z 维度然后:x、y、z 顺序的 3D 体积数据。每个体素 16 位(2 字节),仅使用了这 16 位中的 12 位。

我想使用 C++ 加载数据并将其存储在数组中

那么如何从 .data 文件中加载 2 个字节,我要实现的算法是

load(String filename)
{
File fp = openfile(filename);
Byte2 sizeX, sizeY, sizeZ;
sizeX = readfile(sizeof(Byte2),fp);
sizeY = readfile(sizeof(Byte2),fp);
sizeZ = readfile(sizeof(Byte2),fp);
UnsignedShort data[sizeX*sizeY*sizeZ];
for(Integer z=0; z < sizeZ; z++) {
for(Integer y=0; y < sizeY; y++) {
for(Integer x=0; x < sizeX; x++) {
data[x+y*sizeX+z*sizeX*sizeY] = readfile(sizeof(Byte2),fp);
}
}
}
}

最佳答案

我建议使用 ifstream 对象来读取数据文件。当你用 C++ 打开一个文件时,你可以提到你想要 read the data in binary而不是文字。在 C++ 中没有 Java 的 BinaryReader 的直接等价物。

有关 ifstream 的更多详细信息,请参见 C++ reference page .

关于c++ - 从 .dat 文件中读取 2 个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121554/

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