读入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;
}
...全文
199 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2020-04-12
  • 打赏
  • 举报
回复
用 “画图 ”打开 试试
C:\Windows\System32\mspaint.exe
许可可可可 2020-04-12
  • 打赏
  • 举报
回复

求求了 有没有大神QAQ
zgl7903 2020-04-12
  • 打赏
  • 举报
回复
UltraEdit之类的 16进制方式打开看看文件是否正常?

19,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧