Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
maksSK8
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 26
#1

Поиск строки с необходимым словом в файле - C++

05.04.2016, 19:18. Просмотров 244. Ответов 6
Метки нет (Все метки)

Здравствуйте! Есть txt файл и в нём n-ое количество строк, необходимо найти строку в которой есть слово "Программа".

План действий:
-Ввести слово "программа";
-Найти это слово в n-ой строке;
-Записать всю строку в массив char;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
 
 
using namespace std;
 
void main()
{
    char search[255], stranswer[255], base[9]={0}, * c; //search - что ищем; stranswer - строка с ответом; base - путь к базе;
    
    FILE * fbase;   
    
    string s = "base.txt";
    strcpy(base, s.c_str());
 
    fbase = fopen(base, "r");
    cin.getline(search, 255)    ;
    _getch();
}
Побывал делать так:
C++
1
2
3
4
5
6
7
while (!feof(fbase))
        {
            fgets(str, 15000, fbase);
            c = strstr (str, answer);
            strcpy(c, stranswer);
            cout << c;
        }
Но не вышло... Подскажите возможное решение проблемы. Буду благодарен любой информации!
http://www.cyberforum.ru/cpp-beginners/thread2186947.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2016, 19:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поиск строки с необходимым словом в файле (C++):

Поиск строки в файле
Добрый вечер, Посоветуйте, как можно реализовать поиск строки в одном файле...

Поиск строки в файле
Друзья. прошу помочь советом ибо мозг сломал совсем итак, имеется файл с...

Поиск строки в файле
Помогите сделать рабочий поиск строки в файле, заранее спасибо) struct book...

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

Поиск самой длинной строки в файле
дана такая задача: Дан текстовый файл f. Вывести самую длинную строку файла....

6
nmcf
6238 / 5550 / 2525
Регистрация: 14.04.2014
Сообщений: 23,337
05.04.2016, 19:25 #2
Результат strstr() почему не проверяешь?
0
maksSK8
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 26
06.04.2016, 17:56  [ТС] #3
nmcf, можешь привести пример? Пару тройку строк?

Добавлено через 41 минуту
Вот попробовал это:
C++
1
2
3
4
5
6
ifstream input(base); 
    char buffer[1024]; 
    while(input.getline(buffer,1024)) { 
    if(strstr(buffer, search)) 
    cout << buffer << endl; 
    }
Компилятор ошибок не видит, но во время выполнения программы выскакивает это:
Run-Time Check Failure #2 - Stack around the variable 'base' was corrupted.
0
nmcf
6238 / 5550 / 2525
Регистрация: 14.04.2014
Сообщений: 23,337
06.04.2016, 21:48 #4
Убери base.
C++
1
ifstream input(s.c_str());
или
C++
1
ifstream input("base.txt");
0
maksSK8
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 26
07.04.2016, 17:17  [ТС] #5
Ребят, вот мой код:
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
// intelligent system.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
#include "stdio.h"
#include "fstream"
#include <windows.h>
using namespace std;
 
void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char search[255], answer[255], stranswer[255], str[15000], base[9]={0}, * c; //search - что ищем; answer - ответ; base - путь к базе;
    bool dialog = true;
    FILE * fbase;   
    
    string s = "baseAnswer.txt";
    strcpy(base, s.c_str());
 
    fbase = fopen(base, "r");
    
    cout << "Чат запущен! Пишите: ";cin >> search;
 
    ifstream input(s.c_str()); 
    char buffer[1024]; 
    while(input.getline(buffer,1024)) { 
    if(strstr(buffer, search)) 
    cout << buffer << endl; 
    } 
 
    _getch();
}
Я ввожу слово, программа должна найти его в одной из строк файла, и вывести строку полностью. Почему не работает? Может кто поправить мой скрипт?
0
nmcf
6238 / 5550 / 2525
Регистрация: 14.04.2014
Сообщений: 23,337
07.04.2016, 17:23 #6
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
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char search[255], answer[255], stranswer[255], str[15000], base[9]={0}, * c; //search - что ищем; answer - ответ; base - путь к базе;
    bool dialog = true;
//    FILE * fbase;   
    
    string s = "baseAnswer.txt";
//    strcpy(base, s.c_str());
 
//    fbase = fopen(base, "r");
    
    cout << "Чат запущен! Пишите: ";cin >> search;
 
    ifstream input(s.c_str()); 
    if (!input)
    {
        cout << "Ошибка при открытии файла.\n";
    }
    else
    {
    char buffer[1024]; 
    while(input.getline(buffer,1024)) { 
    if(strstr(buffer, search)) 
    cout << buffer << endl; 
    }
    } 
 
    _getch();
}
0
maksSK8
1 / 1 / 0
Регистрация: 26.10.2014
Сообщений: 26
07.04.2016, 18:26  [ТС] #7
nmcf, спасибо тебе огромно! работает!
0
07.04.2016, 18:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2016, 18:26
Привет! Вот еще темы с решениями:

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

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

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

Поиск минимальной по длине строки в текстовом файле
помогите пожалуйста решить задачу... Дан текстовый файл. Вывести на экран...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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