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

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

Войти
Регистрация
Восстановить пароль
 
Viktor St.
3 / 3 / 1
Регистрация: 05.12.2009
Сообщений: 16
15.01.2010, 17:48     Как осуществить Обработку бинарного файла? #1
Файл содержит произвольные данные. Определить, встречается ли в файле определенная
последовательность байт (заданных виде массива символов). Если встречается, то вывести
на экран все смещения, где эта последовательность встречается.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2010, 17:48     Как осуществить Обработку бинарного файла?
Посмотрите здесь:

Как прочитать заголовок бинарного файла в формате TIFF? C++
C++ Предусмотреть в программе просмотр бинарного файла и выполнить его обработку
Как прочитать из бинарного файла тип НЕ *char C++
C++ Как записывать и считывать не POD типы данных из бинарного файла?
Как считать из бинарного файла AnsiString (ifstream)? C++
Как восстановить список из бинарного файла? C++
Как прочитать числа из бинарного файла C++
Visual C++ Как осуществить воспроизведение звука из файла в программе на С++ (Visual Studio 2013)?
Как посмотреть содержимое бинарного файла в терминале? C++ Linux
Как удалить структуру из бинарного файла C++
Как записывать и читать с БИНАРНОГО файла C++
Как правильно осуществить запись с файла в stringstream и обратно? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,316
15.01.2010, 18:13     Как осуществить Обработку бинарного файла? #2
А в чем проблема-то? Если файл меньше 2 Гбайт, то все просто:
1. спроецировать файл в память,
2. любым алгоритмом последовательно поискать в проекции заданную подпоследовательность байт, например, алгоритмом Бойера-Мура (ну или любым другим, как заблагорассудится).... Если нашли - выводим смещение и ищем дальше.
Все, как будто.....
Viktor St.
3 / 3 / 1
Регистрация: 05.12.2009
Сообщений: 16
15.01.2010, 18:33  [ТС]     Как осуществить Обработку бинарного файла? #3
Да я новичок ещё ("чайник")! Мне бы код глянуть!
insideone
Модератор
Автор FAQ
 Аватар для insideone
3630 / 908 / 48
Регистрация: 10.01.2010
Сообщений: 2,446
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 найдено совпадение */
}
Как считывать файлы я думаю обсуждалось, особо не шарю...
Yandex
Объявления
15.01.2010, 20:35     Как осуществить Обработку бинарного файла?
Ответ Создать тему
Опции темы

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