Darhazer Опубликовано 14 декабря, 2005 Жалоба Поделиться Опубликовано 14 декабря, 2005 Привет, Есть две версии файла и хочу записать только изменения (чтоб сделать пача) Вопрос: как сделать? Ок, читаем байт по байт и находим первий байт который различний Как определить если несколько байта добавлени, удалени или просто измени?А А то как я написал сейчась, если добавить 1 байт то програма определить всех после него как променени и пач будеть больше чем оригинальний файл. Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 29 декабря, 2005 Жалоба Поделиться Опубликовано 29 декабря, 2005 (изменено) Darhazer: Хорошие алгоритмы, насколько я знаю, реализуются довольно сложно, с динамическим программированием. Проще использовать готовые программы. Word умеет сравнивать два документа, выводя объединенный текст и выделяя вставки и пропуски относительно первого документа. Есть также много специализированных программ. Вот несколько, правда, примерно половина из них shareware :) : WinMerge, Side by Side, FileDiff, CSDiff, Compare It, Active File Compare, ExamDiff. P.S. Кажется, сначала я не совсем понял вопрос - требуется сравнение именно бинарных, а не текстовых файлов? Это вроде бы умеет из приведенных ранее Examdiff, и еще можно посмотреть UltraCompare, FCWin и GNU проект DiffUtils. Изменено 30 декабря, 2005 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 2 января, 2006 Автор Жалоба Поделиться Опубликовано 2 января, 2006 Тролль: Что сложно уже сам узнал. Shurr подсказал ссылки на алгортими, но я не разобрался. Не разобрался и в изходниках WinMerge. А готовая программа не устраиваеть, мне нужно написать updater-а. Но решим проблему так: апдейт будет содержать весь файл и идентификация оригинального (примерно хэш). И если файл являеться оригинальний, просто заменяеть эго. Програма весить менее 10 MB, так что не так страшно, что апдейт будет ~10 MB, тем не менее, не будет качаться через Интернет :mellow: Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти