Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 5

Поиск строки

27.10.2011, 17:22. Показов 1329. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
читая файл нужно найти строку вида [Fri Sep 09 10:47:26 2011] [notice] child pid 4876 exit signal Segmentation fault (11)

подскажите как мне сделать subj
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
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
int main()
{
 
char *a, *b;
a="[Fri Sep 09 10:47:24 2011] [notice] child pid 4818 exit signal Segmentation fault (11)";
b="exit signal Segmentation fault (11)";
 
 
char *pFind = pFind = strstr(a, "exit");
        printf("Test              : %d\n", strcmp(pFind, b));
        printf("Origin string     :%s\n", a);
        printf("Cut string        :%s\n",pFind);
        printf("Search string     :%s\n", b);        
ReadFile();
}
как совершать поиск в последней строке удаляя перевод строки или ища в месте с ним.
 
наваял пример:
 
void ReadFile(void)
 {
   long b=-1024;
   char a[1024];
   char x;
 
     FILE *fp;
     
       if ((fp=fopen(files.txt, "r"))==NULL)
//printf(a);
       else
              {
              fseek(fp, b, SEEK_END) ;
              while(fgets(a, 1024,fp));
   char *pFind = pFind = strstr(a, "child pid");
{
   
    if (strcmp(pFind, strings))
    {
printf("False\n");
    }
else
{
printf("True\n");
}
    }
 
fflush(fp);
fclose(fp);
}
 }
cat file.txt
[Fri Sep 09 10:47:24 2011] [notice] child pid 4818 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:24 2011] [notice] child pid 4819 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:24 2011] [notice] child pid 4820 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:24 2011] [notice] child pid 4821 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:24 2011] [notice] child pid 4822 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:24 2011] [notice] child pid 4823 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:25 2011] [notice] child pid 4855 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:25 2011] [notice] child pid 4857 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:25 2011] [notice] child pid 4858 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:25 2011] [notice] child pid 4859 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4860 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4861 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4862 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4863 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4864 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4865 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4866 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4867 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4868 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4869 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4870 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4871 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4872 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4873 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4874 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4875 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:26 2011] [notice] child pid 4876 exit signal Segmentation fault (11)
[Fri Sep 09 10:47:27 2011] [info] removed PID file /etc/httpd/run/httpd.pid (pid=12360)
[Fri Sep 09 10:47:27 2011] [notice] caught SIGTERM, shutting down
[Fri Sep 09 10:47:38 2011] [warn] module python_module is already loaded, skipping
[Fri Sep 09 10:47:38 2011] [notice] Digest: generating secret for digest authentication ...
[Fri Sep 09 10:47:38 2011] [notice] Digest: done
[Fri Sep 09 10:47:38 2011] [notice] mod_python: Creating 8 session mutexes based on 64 max processes and 0 max threads.
[Fri Sep 09 10:47:38 2011] [notice] mod_python: using mutex_directory /tmp
[Fri Sep 09 10:47:38 2011] [notice] Apache/2.2.3 (Red Hat) configured -- resuming normal operations
--
Спасибо.

Добавлено через 1 час 43 минуты
дело в том что все это дело является демоном который в реальном времени читает лог файл присваивая последнюю строку переменной и сравнивая ее со строкой в конфигурационном файле.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2011, 17:22
Ответы с готовыми решениями:

Поиск строки в файле
Какая функция выполняет поиск строки в файле?

Поиск строки из файла
Всем привет! Нужно сделать поиск по строке из кмд : ./proj1 искомое_слово &lt;какой-то файл, как реализовать? Есть идеи? Добавлено через...

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

5
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.10.2011, 06:53
Цитата Сообщение от Ami
как совершать поиск в последней строке удаляя перевод строки или ища в месте с ним
надо читать строку из файла, пока не наступит конец файла
в массиве будет последняя строка
сравнение нужно делать, удалив завершающий '\n' специальной функцией, основанной на strlen()
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 5
28.10.2011, 10:02  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
надо читать строку из файла, пока не наступит конец файла
в массиве будет последняя строка
сравнение нужно делать, удалив завершающий '\n' специальной функцией, основанной на strlen()
а можно на примере просто что-то с утра в пятницу не заладилось! %)
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.10.2011, 10:39
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
#include <stdio.h>
 
void rmlf(char *s);
 
int main(void)
{
    FILE *ifp;
    char line[1000];
    int notempty;
    
    ifp = fopen("file.txt", "r");
    if (ifp == NULL)
        return 1;
    
    notempty = 0;
    while (fgets(line, sizeof line, ifp) != NULL)
        if (!notempty)
            notempty = 1;
    
    if (notempty) {
        rmlf(line);
        printf("%s\n", line);
    }
    
    return 0;
}
 
void rmlf(char *s)
{
    if (*s != '\0') {
        while (*(s + 1) != '\0')
            s++;
        if (*s == '\n')
            *s = '\0';
    }
}
выводит последнюю строку файла, удаляя из неё перевод строки

Добавлено через 4 минуты
C
1
2
3
4
5
6
7
8
9
10
#include <string.h>
 
void rmlf(char *s)
{
    if (*s != '\0') {
        s += strlen(s) - 1;
        if (*s == '\n')
            *s = '\0';
    }
}
с использованием strlen()
1
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
28.10.2011, 17:39
Цитата Сообщение от Ami Посмотреть сообщение
дело в том что все это дело является демоном который в реальном времени читает лог файл присваивая последнюю строку переменной и сравнивая ее со строкой в конфигурационном файле.
Взгляните на исходники tail. И возможно, на регулярные выражения.
1
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 5
28.10.2011, 22:29  [ТС]
accept, вот спасибо я просто с ... Спасибо. работа за неделю заекывает так что думать лень. спс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2011, 22:29
Помогаю со студенческими работами здесь

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

Поиск строки с заданным параметром
Помогите найти ошибку в коде. задание описано ниже. Код вроде неплох, но работает не всегда ( #include &lt;stdio.h&gt; #include...

Поиск кратчайшего числа из строки
Здравствйте. Есть такая задача: Составить программу, которая выделяет отдельные целые числа из введенной пользователем строки. Числом...

Прямой поиск строки с конца
#include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; void main () { int i,j,result,N,M; char a,x; ...

Бесконечный поиск строки в файле
Доброго времени суток. Я разрабатываю программу, которая предлагает ввести слово. Когда оно введено, оно проверяет, есть это слово в файле....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru