СИ - структура и выравнивание
Язык СИ
ОС UNIX
создаю структуру
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // 2 байта
DWORD bfSize; // 4 байта
WORD bfReserved1; // 2 байта
WORD bfReserved2; // 2 байта
DWORD bfOffBits; // 4 байта
} BITMAPFILEHEADER;
BITMAPFILEHEADER bfh;
всего 14 байт.
Ожидал получить sizeof(bfh)=14.
А получилось sizeof(bfh)=16,
напоминает выравнивание.
Далее предполагалось
write(fd, bfh, sizeof(bfh)); //--- заголовок file.bmp (рисунок) ---
Не вышло. Нарушен формат файла.
Пришлось выкручиваться.
Почему не получаю ожидаемую структуру?
Кто знает прошу ответить.
Ответ на:
комментарий
от m0rph
Ответ на:
комментарий
от gunja
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от Tayler
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Запись структуры в файл (2014)
- Форум Ламерский вопрос по структурам и sizeof (2005)
- Форум Как работать с BMP разной битности. (2003)
- Форум Segmentation fault при чтении файла. (2003)
- Форум Изменение цвета пикселей в простой программе по копированию bmp файла (2016)
- Форум Привидите пожалуйсто рабочий код или покажите ошибку. (2003)
- Форум WiMAX Network Service 1.4 (2010)
- Форум Выравнивание структур в Си (2007)
- Форум Выравнивание вложенных структур (2018)
- Форум Выравнивание структур! Help!!! (2001)