int main()
{
int i;
int j;
FILE fp;
char bmp_data[1288];
// "rb" 只读打开一个二进制文件,只允许读数据。'b'指的是让这个库函数以二进制形式打开此文件。
// 读取失败会返回空指针,读取成功后,fp 会指向一块具有 bmp 属性的内存,我们可以对这块内存开始操作
if((fp = fopen("test.bmp", "rb")) == NULL) // fp = 0x00426aa0
{
printf("Cann't open the file!
");
return 0;
}
// 让 fp 指向 bmp 文件的开始
// 第 2 个参数是偏移量 第三个参数是文件起始地址 所以此函数执行成功后文件指针会指向文件的开始
fseek(fp, 62, SEEK_SET);
fread(&bmp_data, sizeof(bmp_data), 1, fp);
j = 27;
for(i=0; i<16; i++)
printf("bmp_data raw %xh:0x%x
",(62+i+16*j), bmp_data[i+16*j] & 0xff);
fclose(fp);
return 0;
}