我一直有這個愚蠢的結構很多麻煩。我不明白爲什麼會這樣做,我真的不知道如何解決它。我知道如何解決這個問題的唯一方法就是去除結構並以其他方式進行(我不想這麼做)。構造奇怪 - 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