Поиск по бинарному файлу?
Модератор: Модераторы
Поиск по бинарному файлу?
Как осушествлять поиск по бинарному файлу конкретную последователность значений байтов в HEX представлении с целью установки позиции в файле?
Искать по файлу первый байт, за ним второй и т.д. Если второй и т.д. не совпадает, то искать следующий первый. Для чтения очередного байта можно использовать TFileStream.Read или ReadBuffer. Если файл небольшой, имеет смысл загрузить его в память через TMemoryStream.LoadFromFile и искать уже в MemoryStream'е.
есть более быстрые методы поиска подстроки в строке. они давно и хорошо проработаны. наверняка в RTL фрюхи они и используются в функции Pos.
Точно, я привёл наивный алгоритм -- самый тормозной, но при этом самый простой. Если нужно что-то пошустрее, можно посмотреть например в википедии.
