Показать сообщение отдельно
  #2  
Старый 12.10.2018, 20:02
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Я как-то реализовывал подобный алгоритм.
Делал примерно так.
1. Выделяется буфер длинной B+Length(Sample). B - базовый размер буфера, Sample - длинна искомых данных.
2. В цикле:
2.1. Чтаем в буфер данные
2.2. В цикле от 0 до Length(B) проверяем первый байт данных и Sample. Если совпадает, то начинаем сверять все отсальные байты Sample. Если все совпадает, то нашли нашу подстроку.
2.3. Смещаем указатель на файле на Length(Sample) байт назад и читаем новый блок данных.
Ответить с цитированием