Я пытаюсь прочитать растровое изображение, начинающееся с его заголовка, но fread пропускает символы для меня.
Я использую этот typedef в своем заголовке:
#include <windows.h> // Used for other
#include <cstdio>
typedef struct tagBITMAPHEADER{
WORD wFileType;
DWORD dwFileSize;
WORD dwReserved;
WORD dwReserved2;
DWORD dwBmpDataOffset;
DWORD dwBmpHeaderSize;
DWORD dwWidth;
DWORD dwHeight;
WORD wPlanes;
WORD wBitsPerPixel;
DWORD dwCompression;
DWORD dwBitmapDataSz;
DWORD dwHRes;
DWORD dwVRes;
DWORD dwColors;
DWORD dwImpColors;
} BITMAPHEADER, *PBITMAPHEADER;
А в своем коде я просто использую простой fopen и fread с двоичным файлом.
#include "ImageLoader.h"
BITMAPHEADER pbhFileInfo;
FILE *fBitmap = fopen(FileName,"rb"); //Open file in read / binary
if (fBitmap) //File is now open
{ fread(&pbhFileInfo,sizeof(BITMAPFILEHEADER),1,fBitmap);
fclose(fBitmap);
}
Хотя мое растровое изображение начинается с '424DF25A0D' (hex), первые две считанные переменные, похоже, пропускают 'F25A'
wFileType = 0x4d42
dwFileSize = 0x0000000d
Есть идеи, что случилось?
Заранее спасибо.