лог-файлы
Испытываю на себе ломку перехода с 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);
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 есть туча функций для работы со строками. Там есть проктически все необходимое! Неужели великий и могучий Си не обзавелся такими-же возможностями?
Огромное Вам спасибо!
Цитата:
Originally posted by GHopper
Здравствуйте!
Испытываю на себе ломку перехода с PHP на C++ и не могу справиться в одиночку. Просто разучился программировать! Люди добрые, объясните пожалуйсто как обрабатывать логи на Си. Ситуация такая - есть лог-файл из которого надо вытоащить значения некоторых параметров. Делаю так:
теперь не понимаю что делать с этим буфером buf. Как быстренько пробежаться по нему и найти строку вида "Str1="? Выражение вида "(char *) buf != "S" " не проходит! Есть-ли разница в обработке бинарных и обычных логов?
В PHP есть туча функций для работы со строками. Там есть проктически все необходимое! Неужели великий и могучий Си не обзавелся такими-же возможностями?
Огромное Вам спасибо!
Здравствуйте!
Испытываю на себе ломку перехода с 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);
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.
Цитата:
Originally posted by AlexandrVSmirno
см. Help по AnsiString.
см. Help по AnsiString.
для С-строк см. strstr()