Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 14
1

Поиск последовательности в пакете данных

29.06.2012, 11:05. Просмотров 578. Ответов 4
Метки нет (Все метки)


Имеется файл в формате .sig, содержащий пакеты данных, необходимо в этом пакете обнаружить определенную последовательность символов, подскажите пожалуйста через что подступиться, с чего начать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2012, 11:05
Ответы с готовыми решениями:

Структура данных в пакете
Как Вы структурируете Ваш пакет? Допустим мне надо передать список ников и ИД пользователей. Сервер...

Представление данных в пакете байтов
Всем привет. У меня есть вот такой шестнадцатеричный код: f3 16 00 00 Скажите, пожалуйста,...

База данных Access в инсталляционном пакете
Доброго времени суток, такая проблемка возникла, создал проект, с подключением бд, на моём пк всё...

Оптимизация поиска в "пакете данных"
Привет всем, не могу, нормально организовать поиск, есть пакет вот такого вида ...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
4
2226 / 1729 / 865
Регистрация: 21.12.2010
Сообщений: 3,073
Записей в блоге: 11
29.06.2012, 13:39 2
похожая тема
Поиск FOURCC кода в AVI - файле
1
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 14
29.06.2012, 21:02  [ТС] 3
Тема похожа но видимо малова-то знаний что бы полностью разобраться в Вашей программе. Приминительно к моей программе не могу сообразить как организовать цикл который находил бы последовательность битов и потом выводил следующую после них последовательность символов ( длинна последовательности изменяется в зависимости от пакета данных)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if (OpenDialog1->Execute())
   {
    DWORD dw;
    HANDLE HHH = CreateFile((OpenDialog1->FileName).c_str(), GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
    FILE *f;
    int len = GetFileSize(HHH,0); // длина файла
    unsigned char *InBuf = new unsigned char[len];// входной массив
    ReadFile (HHH,InBuf,len,&dw,0); //чтение данных в массив
    int DlinaPaketa = 0;
    int Begin = 0;
           do
              {
               DlinaPaketa = InBuf[0+Begin]+256*InBuf[1+Begin];
               Begin = DlinaPaketa+2+Begin;
       // цикл обнаружения
       //
              }
              while (!((Begin+1)>len));
Заранее благодарен
0
2226 / 1729 / 865
Регистрация: 21.12.2010
Сообщений: 3,073
Записей в блоге: 11
30.06.2012, 08:01 4
на стандартном c++ можно так ( если файл достаточно мелкий чтобы влезть в строку )
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <string>
#include <fstream>
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main()
{
    std::ifstream ifs("in.txt", std::ios::binary);
    if(ifs.is_open())
    {
        std::string sought("two\r\n th"); // что ищем
        std::string s((std::istreambuf_iterator<char>(ifs.rdbuf())), std::istreambuf_iterator<char>());
        std::string::iterator it = std::search(s.begin(), s.end(), sought.begin(), sought.end());
        if(it != s.end())
        {
            std::cout << "Found" << std::endl;
        }
        else
        {
            std::cout << "Not found" << std::endl;
        }
        ifs.close();
    }
    else std::cerr << "Unable to open file" << std::endl;
    return 0;
}
1
0 / 0 / 0
Регистрация: 23.06.2012
Сообщений: 14
01.07.2012, 22:29  [ТС] 5
Разобрался в Вашем варианте, к сожалению для данной задачи не подходит, т.к. работа ведется с байтами, вроде получилось реализовать перебирая каждый байт массива. Тем не менее большое спасибо за оказанное внимание и помощь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2012, 22:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Поиск максимальной последовательности в другой последовательности
Доброго времени суток. Решая эту задачу, наткнулся на небольшую проблему... Не знаю, как точно...

Что лучше реализовать - поиск по stringgrid или поиск по источнику его данных (txt)
здравствуйте, нужно в программу добавить функцию поиска, данные из stringgrid хранятся в txt файле...

поиск последовательности
В текстовом файле А хранится не отсортированная последовательность натуральных чисел. Нужно найти...

Поиск в ADoquery, Delphi, поиск в базе данных
Доброго времени суток многоуважаемые пользователи данного сайта! Есть очень глупая проблема, с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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