Для задания домашней работы я создал простую программу сжатия/декомпрессии, которая использует наивную реализацию кодирования во время выполнения. Я заработал свою программу; сжатие и распаковка любого текстового файла с большим количеством символов (например, источника программы) работает безупречно. В качестве эксперимента я попытался сжать/распаковать двоичный файл самой программы сжатия. Это привело к тому, что файл был намного меньше исходного двоичного файла и, очевидно, не работает. Что вызывает потерю данных?Представление двоичного файла C
Мое предположение заключалось в том, что это связано с тем, как представлены двоичные файлы, но я не могу много узнать об этом.
вы открываете файл в бинарный режим? – NPE
Двоичные файлы - это всего лишь неформатированный поток 1 и 0 –
@NPE Нет, моя программа просто считывает входные данные с помощью 'getchar()'. Разве это не просто захват битов из файла 8 в момент времени и возврат их целочисленного значения? – grimetime