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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 50, средняя оценка - 4.96
Alex90
19 / 19 / 1
Регистрация: 30.01.2009
Сообщений: 103
#1

Поиск строки в файле - C++

21.02.2009, 21:29. Просмотров 6215. Ответов 4
Метки нет (Все метки)

Добрый вечер, Посоветуйте, как можно реализовать поиск строки в одном файле "log.txt" и если нету этой строки то записать ее в файлы "log.txt" и "result.txt" если она уже в "log.txt" то нечего некуда ненужно записывать. Еще строку которую нужно искать в первом файле вводится в ручную (вот здесь у меня и возникает ошибка если я делаю строку которую мне нужно искать статической то проблем не возникает, но а с этим кодом у меня возникают проблема дайте совет почему?)

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
#include <stdio.h>
#include <string.h>
 
void test(char a[25])
{
 FILE* log_file;
 FILE* result_file;
 char current_str[500];
// char a[80];
 
 /*if(!(log_file=fopen("log.txt", "r")))
 {
  printf("Open log_file failed.\n");
  return 0;
 }
*/ 
 
    log_file=fopen("log.txt", "r");
    result_file=fopen("result.txt", "w");
    fgets(current_str, 500, log_file);
 
 while(!(feof(log_file)))
   {   
    fgets(current_str, 500, log_file);
    
    if (ferror(log_file))
     {
        printf("error");
        
     }
    if (((strchr(current_str, '+'))==NULL)&&((strchr(current_str, '*'))==NULL))
     {
      if (((strstr(current_str, a))!=NULL))//&&((!strstr(current_str,""))!=NULL))
        {
         fputs(current_str, result_file);           
        }     
     } 
   }
    fclose(log_file);
    fclose(result_file);    
 }
int main()   
{
    cout<<"Input first word\n";   
    cin>>A;   
    test(a);
system("PAUSE");    
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2009, 21:29     Поиск строки в файле
Посмотрите здесь:

Поиск строки в файле - C++
Друзья. прошу помочь советом ибо мозг сломал совсем итак, имеется файл с набором символов, например вот такого вида- 'bla bla bla...

Поиск строки в файле - C++
Помогите сделать рабочий поиск строки в файле, заранее спасибо) struct book { char name; char author; int year; int...

Поиск строки в файле и её перезапись - C++
Здравствуйте, я хочу чтобы моя программа находила строку в файле config.cfg и перезаписывала её. Начало строки никогда не...

Поиск самой длинной строки в файле - C++
дана такая задача: Дан текстовый файл f. Вывести самую длинную строку файла. Если в файле имеется несколько строк с наибольшей длиной, то...

Поиск строки с необходимым словом в файле - C++
Здравствуйте! Есть txt файл и в нём n-ое количество строк, необходимо найти строку в которой есть слово &quot;Программа&quot;. План действий: ...

Поиск строки в файле по заданному слову - C++
Ребят,подскажите. У меня создан текстовый файл,в котором 5 строк,каждая строка это новая книга,а именно автор,название,издатель,год...

Поиск нужной строки во внешнем файле ( блокнот ) - C++
Уважаемые форумчане, подскажите пожалуйста как осуществить поиск строчки в текстовом файле (блокнот). Суть: Задается два параметра...

Поиск, сортировка и удаление строки в txt файле - C++
Помогите новичку с C++. Есть файл с данными вида: ФИО Дата рождения Образование и тд... Нужно организовать поиск, чтобы в...

Оператор преобразования типа и его эквивалентные замены, поиск строки в текстовом файле , содержащей заданный - C++
Господа, был бы очень признателен если бы кто то помог ответить на вапросы http://cs616225.vk.me/v616225102/122f8/5kAaFEGoDn0.jpg

Поиск в файле. - C++
Собственно, задача такова: Написать программу, которая считывает текст из файла и определяет, сколько в нем слов, состоящих не более чем...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexiski
Любитель давать советы
338 / 130 / 2
Регистрация: 12.01.2009
Сообщений: 511
21.02.2009, 21:57     Поиск строки в файле #2
Потому что та строка а, которая читается в теле процедуры main и передается дальше в процедуру test, нигде не объявлена.

Надо написать примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void test(char a[])  
{
  // ...
}  
 
int main()     
{  
    char a[25];
    cout<<"Input first word\n";     
    cin>>a;     
    test(a);
    getch();  
    return 0;  
}
Alex90
19 / 19 / 1
Регистрация: 30.01.2009
Сообщений: 103
21.02.2009, 23:20  [ТС]     Поиск строки в файле #3
Alexiski, вот такое в журнале компиляции

make.exe -f "C:\Testy\Finder\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"F:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"F:/Dev-Cpp/include/c++/3.4.2/backward" -I"F:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"F:/Dev-Cpp/include/c++/3.4.2" -I"F:/Dev-Cpp/include" -I"F:/Dev-Cpp/" -I"F:/Dev-Cpp/include/common/wx/msw" -I"F:/Dev-Cpp/include/common/wx/generic" -I"F:/Dev-Cpp/include/common/wx/fl" -I"F:/Dev-Cpp/include/common/wx/gizmos" -I"F:/Dev-Cpp/include/common/wx/html" -I"F:/Dev-Cpp/include/common/wx/mmedia" -I"F:/Dev-Cpp/include/common/wx/net" -I"F:/Dev-Cpp/include/common/wx/ogl" -I"F:/Dev-Cpp/include/common/wx/plot" -I"F:/Dev-Cpp/include/common/wx/protocol" -I"F:/Dev-Cpp/include/common/wx/stc" -I"F:/Dev-Cpp/include/common/wx/svg" -I"F:/Dev-Cpp/include/common/wx/xml" -I"F:/Dev-Cpp/include/common/wx/xrc" -I"F:/Dev-Cpp/include/common/wx" -I"F:/Dev-Cpp/include/common"

main.cpp: In function `void test(char*)':
main.cpp:36: warning: NULL used in arithmetic

main.cpp: In function `int main()':
main.cpp:50: error: `cout' undeclared (first use this function)
main.cpp:50: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:51: error: `cin' undeclared (first use this function)
main.cpp:53: error: `getch' undeclared (first use this function)

make.exe: *** [main.o] Error 1

Выполнение завершено
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
21.02.2009, 23:32     Поиск строки в файле #4
Забавно ты пишешь. Если уж подключаешь сишные либы, то и юзай их. Никаких cout, cin. Используй printf, scanf. getch() можешь убрать, у тебя там system вызывается.
Kalashnikov
14 / 14 / 1
Регистрация: 08.02.2009
Сообщений: 63
21.02.2009, 23:33     Поиск строки в файле #5
а подинклудить библиотеки непробывал?
#include <iostream> ну и пространство имен using namespace std;(илиже пиши std::cout, std::cin) и в добавок #include <conio.h>
Yandex
Объявления
21.02.2009, 23:33     Поиск строки в файле
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru