Сохранить байт в файл - PullRequest
0 голосов
/ 15 марта 2012

Я сохраняю один байт в цикле в файл. Если я сохраню в первую (двоичную) a7, а затем b5, в hexdump я могу найти b5a7. Это правильно?

Добавлен код:

char byte = 0; // this can change
ofs.write((char*)byte,1);

1 Ответ

4 голосов
/ 15 марта 2012

Нет, не нормально.Если вы пишете один байт за раз, они должны быть в том порядке, в котором вы их написали.Замена байтов будет происходить на машине с прямым порядком байтов, если вы напишите двухбайтовое количество:

short x = 0xa7b5;

fwrite(&x, 2, 1, some_file);

Теперь (при условии, что машина с прямым порядком байтов) будет содержать файл 0xb5, за которым следует 0xa7.

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