Запись структуры в файл - 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");
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д