Программа для получения остатков файла

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Ответить
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Программа для получения остатков файла

Сообщение Attid »

ситуация часто встречающаяся в рыбалке
у одного есть большой побитый файл
у другого он есть целый , первый запускает прогу она ему выдает файл с чек сумами на каждый мегабайт к примеру. второй скармливает 2 файла проге (сам файл и чексумы) и получает на выходе маленький файл который отправляется первому челу и он его востанавливает.

в общем такую програмку я где-то когда видел, может кто знает?
если нет то предлогаю кому нибуть скучающему её написать =)
польза будет для сообщества, а вам слава и почет =)
Аватара пользователя
alexs
долгожитель
Сообщения: 4067
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

а что там писать?
определись только с методикой подсчёта чек-сум - а так в принципе элеметарщина.
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

я знаю но это надо пару часов потратить =)
Аватара пользователя
alexs
долгожитель
Сообщения: 4067
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

время - его всегда не хватает
Аватара пользователя
Deepthroat
постоялец
Сообщения: 144
Зарегистрирован: 06.09.2007 00:21:34
Откуда: Outer Heaven
Контактная информация:

Сообщение Deepthroat »

Тогда уже надо писать прогу, которая из этого куска и битого файла сделает нормальный файл.
Аватара пользователя
alexs
долгожитель
Сообщения: 4067
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Deepthroat писал(а):Тогда уже надо писать прогу, которая из этого куска и битого файла сделает нормальный файл.


это естественно - на самом деле всё просто - вся фишка в файле, в котором выдаются чек-суммы на исходный файл
простейщая структура этого файл такая:
- размер блока исходного файла, на который выдаётся чексумма
- последовательность типа:
№ блока - чексумма

1-й этап (созданеи файла)
программа поблочно (размер блока указываем) читает исходный файл - на каждый блок считает чексумму - формирует файл-запрос

2-й этап (сравнение с контрольным файлом)
программа согласно файла запроса пробегает по эталонному файлу, читает точно также поблочно и считает чексумму. После этого на тех блоках где чексумма не совпала - сбрасываем их в отдельный файл с указанием номера блока и содержимого (опционально для контроля добавляем чексумму)

3-й этап (востановление битого файла)
по файлу сформированному на этапе 2 пробегаем по исходному битому файлу и меняем в нём блоки в которых не совпали чексуммы на коректные

Алгоритм написал :-)
У кого есть желаение - можно закодить
Ответить