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

Парсер лога с использованием boost::regex - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ввод двумерного массива из файла http://www.cyberforum.ru/cpp-beginners/thread381519.html
как осуществить ввод двумерного массива из файла? как должны размещаться значения в файле? вот такие два вопросика :) заранее всем откликнувшимся спасибо большое:friends:
C++ Помогите написать код программы с использованием функции!!! Реализовать функцию, которая переписывает элементы входного массива в обратном порядке. На вход функция получает указатель на первый элемент массива, а также его размерность. Задано вещественный... http://www.cyberforum.ru/cpp-beginners/thread381517.html
C++ Длина отрезка по координатам вершин
разработать функцию f(x1,y1,x2,y2),каторая вычесляет длину отрезка по координатам вершин (x1,y1) и (x2,y2), и функцию t(a,b,c),которая проверяет, существует ли треугольник с длинами сторон a,b,c/С...
C++ Вывести самое длинное слово и его порядковый номер в исходной строке
Здраствуйте,мне нужно вывести самое длинное слово и его порядковый номер в исходной строке.Спасибо
C++ Двумерные массивы. Процедуры и функции http://www.cyberforum.ru/cpp-beginners/thread381506.html
нужер зделать программку, помогите если сможете: В матрице А (n х n) определите количество строк, элементы ко- торой образуют арифметическую прогрессию. Используйте подпро- грамму проверки...
C++ Как подсчитать вероятность появления каждого символа в тексте. Как подсчитать вероятность появления каждого символа в тексте. Например дана предложение: The method was attributed to Fano, who later published it as a technical report. Как найти вероятность?... подробнее

Показать сообщение отдельно
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
10.11.2011, 23:20
lizard, смотрите:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <string>
#include <boost/regex.hpp>
#include <fstream>
 
using namespace std;
const int BUFSIZE = 10000;
 
int main()
{
 
    char buf[BUFSIZE];
    std::string name, iname, diagnosis;
 
    static const boost::regex infected( "(ALERT:.*?.C:.tmp.*?)+(([a-zA-Z0-9]+\\.)+[a-zA-Z]{2,4})+(.<<<.+[a-zA-Z_])" );
    static const boost::regex healthy( "(^C:.tmp.*?)+(([a-zA-Z0-9]+\\.)+[a-zA-Z]{2,4})" );
 
    ifstream in;
    in.open( "C:\\log\\avira_log.txt" );
 
 
    while( !in.eof() )
    {
        in.getline( buf, BUFSIZE - 1 );
        std::string s = buf;
        boost::smatch m;
 
        if( boost::regex_search( s, m, healthy ) ) 
        {
            name.assign( m[2] );
            cout << "Name: " << name << "  diagnosis:";
            
            // infected files
 
            while( !in.eof() )
            {
                in.getline( buf, BUFSIZE - 1 );
                std::string c = buf;
 
 
                if( boost::regex_search( c, m, infected ) ) 
                {
 
                    iname.assign( m[2] );
                    diagnosis.assign( m[4] );
 
                    if( name == iname )
                        cout <<  diagnosis << endl;
                    else
                        cout << "OK" << endl;
                } // if( boost::regex_search( c, m, infected ) ) 
                
            } // while( !in.eof() )
            
/*-------------------> вот тут уже in.eof() == true <--------------------------------------------- */
            
        } // if( boost::regex_search( s, m, healthy ) )
        
    }// while( !in.eof() )
 
    system( "pause" );
 
}
Код ваш, только оформление подкантовал.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru