Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

лог-файлы

333
16 мая 2005 года
GHopper
200 / / 28.12.2004
Здравствуйте!
Испытываю на себе ломку перехода с PHP на C++ и не могу справиться в одиночку. Просто разучился программировать! Люди добрые, объясните пожалуйсто как обрабатывать логи на Си. Ситуация такая - есть лог-файл из которого надо вытоащить значения некоторых параметров. Делаю так:
Код:
FILE *fle;
  void *buf;

  if ((fle = fopen("FILE.DAT", "rt")) == NULL) {
    printf("Cannot open input file.\n");
    getch();
    return 1;
  }

  if ((buf = malloc(126)) == NULL) {
    printf("Not enough memory to allocate buffer\n");
    getch();
    return 1;
  }
  fread(buf, sizeof(char), 100, fle);

теперь не понимаю что делать с этим буфером buf. Как быстренько пробежаться по нему и найти строку вида "Str1="? Выражение вида "(char *) buf != "S" " не проходит! Есть-ли разница в обработке бинарных и обычных логов?
В PHP есть туча функций для работы со строками. Там есть проктически все необходимое! Неужели великий и могучий Си не обзавелся такими-же возможностями?
Огромное Вам спасибо!
259
16 мая 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by GHopper
Здравствуйте!
Испытываю на себе ломку перехода с PHP на C++ и не могу справиться в одиночку. Просто разучился программировать! Люди добрые, объясните пожалуйсто как обрабатывать логи на Си. Ситуация такая - есть лог-файл из которого надо вытоащить значения некоторых параметров. Делаю так:
Код:
FILE *fle;
  void *buf;

  if ((fle = fopen("FILE.DAT", "rt")) == NULL) {
    printf("Cannot open input file.\n");
    getch();
    return 1;
  }

  if ((buf = malloc(126)) == NULL) {
    printf("Not enough memory to allocate buffer\n");
    getch();
    return 1;
  }
  fread(buf, sizeof(char), 100, fle);

теперь не понимаю что делать с этим буфером buf. Как быстренько пробежаться по нему и найти строку вида "Str1="? Выражение вида "(char *) buf != "S" " не проходит! Есть-ли разница в обработке бинарных и обычных логов?
В PHP есть туча функций для работы со строками. Там есть проктически все необходимое! Неужели великий и могучий Си не обзавелся такими-же возможностями?
Огромное Вам спасибо!


см. Help по AnsiString.

585
16 мая 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by AlexandrVSmirno
см. Help по AnsiString.


для С-строк см. strstr()

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог