读入bmp文件文件头时出错
许可可可可 2020-04-12 09:57:24 读入bmp文件的文件头的时候,用结构体BITMAPFILEHEADER,但是读入的前几个字节不是0x4d42,是55551....
实在是不知道为什么....求解答!
结构体的代码:
#pragma pack(1)
typedef struct {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER_T;
typedef struct {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER_T;
#pragma pack()
读文件的代码:
FILE* F;
if (strlen(cFileName) < 1)//判断文件名是否合法
return false;
F = fopen(cFileName, "r+b");//可读二进制
if (F == NULL)
return false;
BITMAPFILEHEADER_T FH;//文件头
BITMAPINFOHEADER_T IH;//信息头
fread(&FH, sizeof(BITMAPFILEHEADER_T), 1, F);//读入文件头
if (FH.bfType != 0x4d42)
{
//"BM"
fclose(F);
return false;
}