Запись структуры в файл - C (СИ) (70329)
Формулировка задачи:
Здравствуйте!
Исходный код записи структуры в файл:
В результате в файл структура записана с лишним байтом (см. рис).
Могли бы уважаемые специалисты подсказать почему это происходит и как вывести структуру в файл корректно?
#include <stdio.h>
typedef __int8 BYTE;
typedef __int32 DWORD;
typedef unsigned __int32 LONG;
typedef __int16 WORD;
#pragma pack (push, 1)
typedef struct
{ WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
#pragma pack (pop)
BITMAPFILEHEADER bfh ={0x4d42, 0x00000afe, 0x0000, 0x0000, 0x00000036};
void main(void)
{
FILE* outfptr = fopen("result", "w");
fwrite(&bfh, sizeof(BITMAPFILEHEADER), 1, outfptr);
fclose(outfptr);
}Решение задачи: «Запись структуры в файл»
textual
Листинг программы
FILE* outfptr = fopen("result", "wb");