Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Viktor St.
3 / 3 / 1
Регистрация: 05.12.2009
Сообщений: 16
#1

Как осуществить Обработку бинарного файла? - C++

15.01.2010, 17:48. Просмотров 488. Ответов 3
Метки нет (Все метки)

Файл содержит произвольные данные. Определить, встречается ли в файле определенная
последовательность байт (заданных виде массива символов). Если встречается, то вывести
на экран все смещения, где эта последовательность встречается.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2010, 17:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как осуществить Обработку бинарного файла? (C++):

OpenCV. Некорректное чтение бинарного файла - C++
Здравствуйте. При использовании opencv (2.4.6) столкнулся со следующей особенностью (или багом). Имеются бинарные файлы (fits-файлы с...

Чтение бинарного файла в строку: читается только один байт - C++
Читаю бинарный файл в строку, но почему-то читает только 1 байт. Где здесь может быть ошибка? //ЧТЕНИЕ БИНАРНОГО ФАЙЛА В СТРОКУ FILE *f...

Как осуществить на c++ передача видео на сайт в прямо эфире? - C++
хочу с экрана снимать видео и отправлять на сайт возможноли такое?

Как вычитывать переменные с бинарного файла по-отдельности, не объявляя структур, а имея данные об их составе? - C++ Builder
Нужно сделать так, что бы программа могла брать из некого файла (*.cfg) структуру и обрабатывать её. Т.е. в самой программе не прописано: ...

Чтение бинарного файла - C++ Builder
Добрый день, ребята помогите разобраться с проблемой, читаю бинарный файл с последующим отображением содержимого в компоненте Memo. При...

Создание бинарного файла - C++ Builder
Ребята, подскажите как создать такие файл , что то я вообще запутался с этими бинарными файлами... Знаю что просто

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
15.01.2010, 18:13 #2
А в чем проблема-то? Если файл меньше 2 Гбайт, то все просто:
1. спроецировать файл в память,
2. любым алгоритмом последовательно поискать в проекции заданную подпоследовательность байт, например, алгоритмом Бойера-Мура (ну или любым другим, как заблагорассудится).... Если нашли - выводим смещение и ищем дальше.
Все, как будто.....
0
Viktor St.
3 / 3 / 1
Регистрация: 05.12.2009
Сообщений: 16
15.01.2010, 18:33  [ТС] #3
Да я новичок ещё ("чайник")! Мне бы код глянуть!
0
insideone
Модератор
Автор FAQ
3639 / 918 / 49
Регистрация: 10.01.2010
Сообщений: 2,469
15.01.2010, 20:35 #4
Если предположить что мы считали файл в массив символов FileChars то остается написать так
C++
1
2
3
4
5
6
7
8
char Search[X] = { /* какая то последовательность которую ищем */ };
char CurBlock[X] = {0};
for (int i = 0; i < последний_байт_файла; i++)
{
   memcpy(&CurBlock[0], &FileChars[i], X); // копируем текущий блок для сравнения
   if ( memcmp(&CurBlock[0], &Search[0], X) == ) // сравниваем текущий блок с тем что ищем
       / * тут вывод о том что по смещению i найдено совпадение */
}
Как считывать файлы я думаю обсуждалось, особо не шарю...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2010, 20:35
Привет! Вот еще темы с ответами:

Запись бинарного файла - C++ Builder
Здравствуйте ув. форумчане. Столкнулся с такой проблемой. У меня стоит Rad Studio 10 Seatle и я пытаюсь записать переменные типа byte в...

Чтение бинарного файла - C++ Builder
Здравствуйте! Я пробую прочитать бинарный файл от CAD системы (он представляет из себя архив в иде .prt) Пробую открыть его как текстовый...

Чтение бинарного файла - C++ Builder
Здравствуйте! Не могу прочитать бинарный файл, уже весь интернет обшарил, по пять страниц в гугле, все примеры перепробовал, но никак не...

Не получается осуществить чтение из файла - C++ Builder
Здравствуйте. У меня не получаеться осуществить чтение из файла, то есть код компилируется, но программа не открывает файл на чтение. Вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.01.2010, 20:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru