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

Алгоритм поиска строк в текстовом файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помощь при работе с функциями в Си++ http://www.cyberforum.ru/cpp-beginners/thread7462.html
Как правильно обратится к элементам массива в функции zam int zam(int n, int m, int**a) { int tmp; for(int i=0; i<n; i++) for(int j=0; j<m; j++) a=tmp; a=a; a=tmp; return tmp;}
C++ Вычислить значение выражения Помогите пожалуйста доделать программу. #include<iostream> #include<math.h> #include<fstream> #include <conio.h> double a=16,b=0.54,c=5,u1=5,u2=65; float uin,uout,t,dt,uid=0,uod=0; int i=0; using namespace std; http://www.cyberforum.ru/cpp-beginners/thread7450.html
Игра Сапер C++
Я студент 2 го курса на курсовую дали игру сапер. Нужно связать правую кнопку мыши в ClassWizard для того чтобы ставить флажки на мины. Заранее спасибо. Ну если подкинете идеи для решения всей задачи буду очень признателен.
Не хочет запускаться программа C++
Поставил Visual Studio. Net. Пишу простейшую программу на C++, компилирую - удачно, пытаюсь запустить (F5), выскакивает ошибка... (см. вложение) В чем проблема???:help:
C++ нужна программа в С++ реализующая метод Гаусса http://www.cyberforum.ru/cpp-beginners/thread7369.html
Ребят нужна программа в С++ реализующая метод Гаусса!Вот такое задание дали)
C++ О-О-ОЧЕНЬ ТРУДНАЯ ЗАДАЧКА РЕБЯТА ПОМОГИТЕ!!!! Нужно решить задачку С++, она очень трудная...никто не может решить!на вас надежда! Я сейчас напишу условие,если кто сможет пришлите полное решение на axmetov_ilyas@mail.ru "Возьмем случайным образом p двузначных чисел.Возьмем случайным образом так же двузначное число s. Соединим эти p чисел между собой сложениями или вычитаниями.Все числа должны быть использованы. Можно... подробнее

Показать сообщение отдельно
-=OK=-
 Аватар для -=OK=-
0 / 0 / 0
Регистрация: 19.04.2008
Сообщений: 3
19.04.2008, 13:25     Алгоритм поиска строк в текстовом файле
Доброго времени суток!
Есть текстовый файл размером ~65 Мб, ~605000 строк. Из этих строк необходимо выделить строки, котрые содержат подстроки "10077" и "Новая запись:" и сохранить их в другой текстовый файл. Написал следующий код:

#include <stdio.h>
#include <string.h>

int main(void)
{
FILE* log_file;
FILE* result_file;
char current_str[1000];

if(!(log_file=fopen("log.txt", "r")))
{
printf("Open log_file failed.\n");
return 0;
}

result_file=fopen("result.txt", "w");

fin: while(!(feof(log_file)))
{
fgets(current_str, 1000, log_file);

if (ferror(log_file))
{
printf("error");
return 0;
}


if (((strstr(current_str,"10077"))!=NULL)&&((strstr(current_str,"Новая запись:"))!=NULL))
{
fputs(current_str, stdout);
fputs(current_str, result_file);
}
else
goto fin;
}

fclose(log_file);
fclose(result_file);

return 0;
}


код работает, но обрабатывает файл не до конца: только 750 строк. В чем ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru