Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 21

Как востановить поврежденный файл

02.07.2014, 18:00. Показов 2066. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На летнюю практику надо написать программу, которая проверяет если не поврежден файл, если поврежден то восстанавливает его. Язык программирования С + + или С #. Объясните с чего начать, потому что не понимаю по какому принципу проверяется, і восстанавливается файл.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2014, 18:00
Ответы с готовыми решениями:

Востановить поврежденный файл
Здравствуйте уважаемые форумчане, для комфортной работы делаю себе один файлик (ведение табеля) весь на макросах и UserForms, все идет...

Как восстановить поврежденный файл .cdr
Доброго времени суток. Возникла следующая проблема: повреждены восстановленные после удаления файлы .cdr. Видны эскизы страниц, (но не...

Как восстановить поврежденный вордовский файл?
Здравствуйте! Накрылся очень важный файл, попросили помочь. У самого не получается. Файл был сохранен на флешке и при открытии выдает...

6
Native x86
Эксперт Hardware
 Аватар для quwy
6858 / 3791 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
02.07.2014, 18:07
Цитата Сообщение от Prototype777 Посмотреть сообщение
Объясните с чего начать
С выяснения у преподавателя тех критериев, по которым файл признается "поврежденным".
1
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 21
02.07.2014, 18:47  [ТС]
Мне попался руководитель не знающий программирования. Он мне мало что объяснил. Насколько я понял то это должно быть так:
Если в файле есть биты которых нельзя прочитать, то их просто надо удалить из этого файла.
Может быть и другой подход.
Эта программа должна восстанавливать файлы, например, из поврежденных оптических дисков ...
0
Native x86
Эксперт Hardware
 Аватар для quwy
6858 / 3791 / 1025
Регистрация: 13.02.2013
Сообщений: 11,861
02.07.2014, 19:19
Прочитать с игнорированием сбойных участков можно, но тут есть ньюансы.
1. При таком чтении принято не выбрасывать непрочитанную информацию, а заполнять эти места нулями (или другими значениями), чтобы длина файла не изменялась.
2. При сбое чтения с оптического диска непрочитанными окажутся не "биты", а целое число секторов, т.е. 4096 байт и выше.
3. При чтении битого файла операционная система мурыжит его очень долго, пытаясь прочитать много раз, в итоге скорость такого копирования будет ужасающе низкой.

Добавлено через 13 минут
Алгоритм простой:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Открываем входной файл;
Открываем выходной файл;
Пока не достигнут конец входного файла, цикл
  Читаем 512 байт из входного файла;
  Если считано больше 0 байт, то
    Записываем эти байты в выходной файл;
    Прибавляем количество считанных байт к счетчику прочитанных байт;
  Иначе
    Записываем в выходной файл нули в количестве Min(512, Размер исходного файла - Счетчик прочитанных байт);
    Перемещаем файловый указатель входного файла вперед на ту же длину Min(512, Размер исходного файла - Счетчик прочитанных байт);
    Прибавляем Min(512, Размер исходного файла - Счетчик прочитанных байт) к счетчику прочитанных байт;
Конец цикла;
Закрываем входной файл;
Закрываем выходной файл;
2
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 21
02.07.2014, 20:10  [ТС]
Спасибо
0
41 / 33 / 24
Регистрация: 09.06.2012
Сообщений: 144
03.07.2014, 08:58
Любой файл с точки зрения программы - это набор байтов.
Соответственно самой программе сильно пофиг сколько и какие это байты. Не пофиг алгоритму, который с файлами работает. Соответственно файл считается поврежденным если он не соответствует задуманному стандарту. Иными словами в алгоритм должно быть заложено знание того каким быть должен не поврежденный файл. Вопрос комплексный.
Если задача определить возможность физического повреждения носителя, то надо боольше курить мануалов D:
1
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 21
05.07.2014, 20:25  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
Если считано больше 0 байт, то
А как это проверить?
Если можно код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2014, 20:25
Помогаю со студенческими работами здесь

Как восстановить поврежденный файл формата (doc)?
У меня огромная проблема. Обычный документ, созданный в Microsoft Office Word 97 - 2003, открыли вордпадом. Он конечно раскрылся каракулями...

Восстановление microsoft excel, как открыть поврежденный файл xlsx
Пользуюсь Microsoft Excel 2013, недавно у меня появилась такая проблема – файл xlsx оказался поврежден, программа просто выдала ошибку и...

Как открыть поврежденный файл после извлечение с поврежденного диска?
Привет! Полетел том жесткого диска с файлами для работы: Word, Excel 2007, тхт, картинки. Перед лечением жесткого я попыталась достать...

Как востановить файл в убунту?
Работал долго з exel файлом, сохранял время от времени но не закрывал. Сегодня сам выключился комп. Включил, открываю этот файл, он...

Как востановить WRL файл в Word?
Работал всю ночь, печатая текст, утром нажал на сохранение, выдало ошибку и закрыло файл. Он стал как временный и не открывается, пишет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru