我一直有这个愚蠢的结构很多麻烦。我不明白为什么会这样做,我真的不知道如何解决它。我知道如何解决这个问题的唯一方法就是去除结构并以其他方式进行(我不想这么做)。构造奇怪 - C++
因此,我正在从一个文件读取数据,并且我正在一次读取一个结构指针。看起来,我的'long long'的偏移/指针每次都会搞砸。在下面详细查看。
因此,这里是我的结构:
struct Entry
{
unsigned short type;
unsigned long long identifier;
unsigned int offset_specifier, length;
};
这里是我阅读所有的垃圾进入结构指针/阵列码:
Entry *entries = new Entry[SOME_DYNAMIC_AMOUNT];
fread(entries, sizeof(Entry), SOME_DYNAMIC_AMOUNT, openedFile);
正如你所看到的,我写的所有的到我的结构数组中。现在,我将向您展示我正在阅读的数据(对于此示例中的第一个结构)。
因此,这是进入的第一个元素在“项”数据。第一个项目(简称“类型”)看起来很好。在那之后,当读取'标识符'时,整个结构看起来像移位X个字节。下面是所述第一元件的一个图像(反转端之后):
这里是在存储器中的数据(红色正方形是它开始的地方):
我知道这有点令人困惑,但我试图尽可能好地解释它。感谢您的帮助,Hetelek。 :)
您没有显示结构如何*写*。 – tenfour 2012-02-17 04:38:05