读入bmp文件文件头时出错

许可可可可 许可可可可 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
读入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;
}
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部