Файлы и биты
May. 14th, 2014 04:32 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вопрос по программированию от неспециалиста. Вот я хочу прочитать файл в С и проинтерпретировать его весь как запись большого двоичного числа. Какие подводные камни могут быть?
Например, я открываю файл в N байт, и считываю его побайтово как символьный массив типа char длины N. Потом смотрю битовое представление каждого символа, и формирую массив из нулей и единичек длины 8*N. С которым я потом работаю, как с большим двоичным числом в 8*N разрядов. Результат алгоритма у меня условно говоря двоичное чиcло размерности 8*M. Я его делю на блоки по 8 бит, формирую обратно новый символьный массив в М байт. И записываю это все дело в файл.
Что может пойти не так?
Например, я открываю файл в N байт, и считываю его побайтово как символьный массив типа char длины N. Потом смотрю битовое представление каждого символа, и формирую массив из нулей и единичек длины 8*N. С которым я потом работаю, как с большим двоичным числом в 8*N разрядов. Результат алгоритма у меня условно говоря двоичное чиcло размерности 8*M. Я его делю на блоки по 8 бит, формирую обратно новый символьный массив в М байт. И записываю это все дело в файл.
Что может пойти не так?
no subject
Date: 2014-05-14 02:42 pm (UTC)Если файл состоит из нулевых символов, то независимо от его длины он будет собой представлять для вас одно и то же двоичное число. Та же проблема если он оканчивается на нулевые символы. Вопрос - подходит ли вам это.