Вниз
Скачать: CL | DM;

Поиск последовательности в бинарном файле   Найти похожие ветки 

 
DmitryA   (2003-06-19 22:27) [0]

Присоветуйте плиз :) :
Необходимо найти в бинарном файле произвольного размера некоторую последовательность, типа "ABC"#13#10"DEF"... Как это можно реализовать с наибольшей скоростью исполнения с использованием TFileStream ?
Т.е. необходимо определить Stream.Position с которой начинается
искомая последовательность в файле, чем быстрее - тем лучше :).


Спасибо


 
Song ©   (2003-06-19 22:51) [1]

Дык циклом :)


 
Palladin ©   (2003-06-19 23:36) [2]

нуууу.... перебор это конечно дело... можно его оптимизировать
проверять не каждый, а скажем каждый Length(SearchString)тый символ на вхождение в искомую строку, ну или последовательность...

собственно наткнулись на существующий символ и по нему поподробней поискали... полное ли совпадение...
получается тогда чем длинней искомая последовательность тем быстрей будет поиск...


 
Johny B.   (2003-06-20 06:41) [3]

см.FileStream


 
Palladin ©   (2003-06-20 08:38) [4]


> Johny B. (20.06.03 06:41)

я думаю человек и так его смотрит


 
Юрий Зотов ©   (2003-06-20 09:28) [5]

Если источник и образец заведомо не содержат символа #0, то их можно рассматривать, как строки. И использовать, например, библиотеку QStrings (потому что просто Pos работает довольно медленно).

А если могут содержать, то не самый, наверное, быстрый, но зато один из самых простых способов - CompareMem в побайтовом проходе по TMemoryStream (сравниваем на длине образца, если не совпало, сдвигаемся на 1 байт).

Что же касается оптимизации поиска - так на эту тему у Кнута полтома написано.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
14-97841
Chieftain
2003-06-12 12:44
2003.06.30
Вот так вот и уверуешь в переселение душ (c) by Шерлок Холмс


1-97583
Lony
2003-06-18 05:03
2003.06.30
Программа и DLL


14-97861
N_
2003-06-11 22:29
2003.06.30
Если есть Свет


1-97599
Aleksandr
2003-06-17 15:10
2003.06.30
Как по цвету фона задать цвет текста?


1-97682
white
2003-06-12 09:18
2003.06.30
Можно ли в Delphi испольховать dll созданную в VB




   Наверх