Запись двоичного файла на C ++, unsigned char слишком мала, но другие типы данных добавляют заполнение, есть ли альтернатива? - PullRequest
0 голосов
/ 09 августа 2010

Я пытаюсь написать .bmp на C ++, но беззнаковый символ не может содержать значение, достаточно высокое для моих нужд, а другие типы данных добавляют заполнение из-за специфического выравнивания байтов, из-за которого ничего не получается.Так есть ли альтернативный тип данных, который может содержать более высокое значение, которое не добавит заполнение (или способ заставить беззнаковый символ содержать более высокое значение)?

Ответы [ 2 ]

2 голосов
/ 09 августа 2010

Звучит так, как будто вы неправильно понимаете, как хранятся данные.

Если у вас есть изображение bmp в памяти, оно может храниться во внутренней структуре (структура / класс), однако вы можете сериализовать это в массивнеподписанных символов (байтов), которые вы записываете в файл.Файл, открытый в двоичном режиме, не добавляет ничего, кроме того, что вы пишете.

см.

2 голосов
/ 09 августа 2010

Если вы сначала записываете данные в массив, заполнение отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...