Выяснить, когда отдельные файлы изменены

0

Я работаю в C++ на окнах. У меня есть список файлов. Некоторые (не все) файлы имеют приложенный к ним текст (удаление/модификация никогда не происходит).

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

Есть ли лучший или более подходящий способ сделать это?

Благодарю.

  • 1
    msdn.microsoft.com/en-us/library/windows/desktop/...
  • 3
    почему бы не использовать MD5 или SHA2?
Показать ещё 3 комментария
Теги:

1 ответ

0

Рассмотрите следующие вопросы:

  1. Время модификации. Если он не изменен - файл, вероятно, не изменяется (предположим, что время модификации не изменяется намеренно).
  2. Размер файла. Если размер файла изменен - файл также изменяется.
  3. Проверьте некоторые части файла. Например - первый и последний блок (зависит от того, как файл должен измениться). Если они изменены, файл изменяется.
  4. Если все вышеперечисленное не помогает, проверьте файл полностью.

PS В Windows вы можете использовать обработчик передачи функций ожидания, созданный функцией FindFirstChangeNotification, для отслеживания изменений файловой системы.

Надеюсь это поможет.

Благодарю!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню