![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.01.2012
Сообщений: 8
|
![]()
имеется бинарный файл размером 300 мб. как в нем осуществить поиск hex значения?
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
маппим файл, далее repne scasb (если 1 байт).
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 | |
Регистрация: 15.01.2012
Сообщений: 8
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
ну, например, так
Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 15.01.2012
Сообщений: 8
|
![]()
да уж......
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я бы для начала воспользовался банальным TFileStream и поиском в цикле.
посмотрел, что там со временем поиска получается. А уже только после этого (если скорость не устроит) я занимался поиском более скоростных и оптимальных вариантов! (имхо, скорость всё равно упрётся в скорость чтения файла в носителя + наличие данных файла в файловом кэше системы). |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 09.11.2007
Сообщений: 1,762
|
![]()
А что собственно и не получается? TFileStream, IntToHex и одна переменная типа byte, вроде больше ничего и не надо.
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 15.01.2012
Сообщений: 8
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Лучше в буфер порциями читать и в нем искать. Так быстрей будет, чем по-байтное чтение
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Читать в память кусочками Мбайт так по 16 и там искать.
Для такого "большого" файла - несколько секунд. Практически все время уйдет на чтение. Последний раз редактировалось s-andriano; 23.05.2012 в 20:08. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Быстрый поиск сигнатуры HEX в файле, как это делается? | Человек_Борща | Общие вопросы Delphi | 3 | 02.12.2012 15:47 |
Вывод большого объема текста в Delphi | NowLast | Общие вопросы Delphi | 2 | 29.12.2011 13:11 |
Сокеты. Отправка текста большого объема. | Rapala | Работа с сетью в Delphi | 2 | 10.04.2011 16:17 |
Поиск числа в бинарном файле. | mazak | Общие вопросы C/C++ | 5 | 18.02.2010 12:05 |
Поиск в файле большого объема | za4ot | Общие вопросы Delphi | 2 | 26.03.2009 20:26 |