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

Поиск в файле заданной последовательности символов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
16.06.2012, 17:51     Поиск в файле заданной последовательности символов #1
Друзья, помогите плиз!!! Нужно написать программу поиска в файле заданной последовательности символов не превышающей по длине 10 знаков. Заранее благодарю!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
16.06.2012, 21:51     Поиск в файле заданной последовательности символов #2
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
#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{ 
    setlocale(0, "rus"); // Русская консоль
    //ofstream outfile("Text.txt"); // Так создаётся файл
    ifstream infile; // входной поток
    infile.open("Text.txt");  // открываем файл
    char buffer[100]; // 
 
    char str[10]; // вводим последовательность символов
    
    cout << "Введите последовательность символов ( вводим на английском ) "; 
    cin >> str; 
        while(!infile.eof()) // считываем до конца файла 
        { 
            infile >> buffer; // считываем в буфер 
            if(!strcmp(str, buffer))  // сравниваем строки
            {
              cout << "Совпадение обнаружено " << endl; // совпадение обнаружено выходим из цикла
              break; 
            }
            
        } 
}
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 11:03  [ТС]     Поиск в файле заданной последовательности символов #3
Цитата Сообщение от David Sylva Посмотреть сообщение
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
#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{ 
    setlocale(0, "rus"); // Русская консоль
    //ofstream outfile("Text.txt"); // Так создаётся файл
    ifstream infile; // входной поток
    infile.open("Text.txt");  // открываем файл
    char buffer[100]; // 
 
    char str[10]; // вводим последовательность символов
    
    cout << "Введите последовательность символов ( вводим на английском ) "; 
    cin >> str; 
        while(!infile.eof()) // считываем до конца файла 
        { 
            infile >> buffer; // считываем в буфер 
            if(!strcmp(str, buffer))  // сравниваем строки
            {
              cout << "Совпадение обнаружено " << endl; // совпадение обнаружено выходим из цикла
              break; 
            }
            
        } 
}
Уважаемый, а как написать, чтобы он выводил эти последовательности? Заранее спасибо!
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 11:08     Поиск в файле заданной последовательности символов #4
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
#include <iostream> 
#include <fstream> 
using namespace std; 
int main() 
{ 
    setlocale(0, "rus"); // Русская консоль
    //ofstream outfile("Text.txt"); // Так создаётся файл
    ifstream infile; // входной поток
    infile.open("Text.txt");  // открываем файл
    char buffer[100]; // 
 
    char str[10]; // вводим последовательность символов
    
    cout << "Введите последовательность символов ( вводим на английском ) "; 
    cin >> str; 
        while(!infile.eof()) // считываем до конца файла 
        { 
            infile >> buffer; // считываем в буфер 
            if(!strcmp(str, buffer))  // сравниваем строки
            {
              cout << "Совпадение обнаружено " << buffer << endl; // совпадение обнаружено выходим из цикла 
                                               //  добавляем вывод                  
              break; 
            }
            
        } 
}
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
18.06.2012, 11:11     Поиск в файле заданной последовательности символов #5
Для David Sylva: мне кажется, решение не универсально... Ведь ищется целая строка, совпадающая с шаблоном. А если совпадает часть строки?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 11:14     Поиск в файле заданной последовательности символов #6
Согласен решение не универсально.
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 11:16  [ТС]     Поиск в файле заданной последовательности символов #7
Цитата Сообщение от David Sylva Посмотреть сообщение
cout << "Совпадение обнаружено " << buffer << endl; // совпадение обнаружено выходим из цикла
// добавляем вывод
break;
Почему он не выводит "Совпадение обнаружено ", при вводе менее чем 10 символов?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 11:21     Поиск в файле заданной последовательности символов #8
Не понял вопроса? Я ввожу последовательность символов менее 10 и программа при совпадение выводит строку и набор искомых символов. У меня всё работает.
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 11:30  [ТС]     Поиск в файле заданной последовательности символов #9
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
#include "stdafx.h"
#include "iostream"
#include <fstream> 
using namespace std; 
int main() 
{   setlocale(LC_ALL,"Russian"); 
    ofstream outfile("d:\Text.txt"); // Так создаётся файл
    ifstream infile; // входной поток
    infile.open("Text.txt");  // открываем файл
    char buffer[100]; // 
    char str[10]; // вводим последовательность символов  
    cout << "Введите последовательность символов ( вводим на английском ) "; 
    cin >> str; 
        while(!infile.eof()) // считываем до конца файла 
        { 
            infile >> buffer; // считываем в буфер 
            if(!strcmp(str, buffer))  // сравниваем строки
            {             
              cout << "Совпадение обнаружено " << buffer << endl; // совпадение обнаружено выходим из цикла 
                                               //  добавляем вывод                  
              break;  
            }        
        }  
}
Вот этот код программы?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 11:42     Поиск в файле заданной последовательности символов #10
Обрати внимание на то, что в моём коде строка ofstream outfile заккоментирована. Как только ты компилируешь код с этой строкой он очищает твой файл. Запиши текст заново в файл и вообще убери это строчку, я ёё сделал так для наглядности.
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 11:50  [ТС]     Поиск в файле заданной последовательности символов #11
Всё равно, ввожу например: regerg fewrff eff такую последовательность, затем нажимаю Enter и ничего не появляется. Ещё такой вопрос: а где создается этот файл?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 12:02     Поиск в файле заданной последовательности символов #12
Это логично потому что твой файл пустой. Файлы создаются в твоём проекте или там где они у тебя располагаются. Возьми мой код со строкой ofstream запусти его. Он создаст файл Text.txt в твоём проекте. Потом внеси в нёго несколько строчек на английском. Закомментируй строку ofstream и запусти и будет тебе счастье.
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 12:19  [ТС]     Поиск в файле заданной последовательности символов #13
Запустил программу и ввёл в консоли строчку(строка ofstream outfile("Text.txt"); не заккоментирована). Затем заккоментил и запустил появляется всё то же "Введите последовательность символов ( вводим на английском ) ", ввожу и ничего. Всё правильно?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 12:25     Поиск в файле заданной последовательности символов #14
Нет не правильно. В консоли ничего вводить не надо. В той папке где располается твой проект, создаёшь файл с расширение txt или doc всё равно. Вносишь в него информацию. Затем убери из исходного кода строчку ofstream и откомпилируй код.
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 12:36  [ТС]     Поиск в файле заданной последовательности символов #15
Создал файл в папке проекта, записал в него строку. Затем закомпилил программу без строки ofstream outfile("Text.txt") и появляется в консоли всё то же: "Введите последовательность символов ( вводим на английском ) " Зачем тогда вообще это сообщение, если мы в консоли ничего не вводим?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 12:43     Поиск в файле заданной последовательности символов #16
Со строкой так понятней. Как назвал файл? Если не получается, внеси обратно строку ofstream и назови файл по другому в исходном коде то есть вместо Text.txt по другому, скомпилируй и глянь где появится этот файл. Может быть ты создал не в той папке.
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 12:52  [ТС]     Поиск в файле заданной последовательности символов #17
Проверил папка та самая, создал в ней файл Text.txt, записал в неё строку. Затем компилю и выводится сообщение "Введите последовательность символов ( вводим на английском ) ". В чём может быть проблема? И зачем это сообщение, если мы в консоли ничего не вводим?
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
18.06.2012, 12:55     Поиск в файле заданной последовательности символов #18
Сообщение для наглядности ни для чего более. Я не знаю в чём у тебя проблема.У меня всё работает так как надо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 13:02     Поиск в файле заданной последовательности символов
Еще ссылки по теме:

Сделать подсчет частоты встречаемости последовательности символов АБВ в текстовом файле C++
C++ Определить количество пробелов в заданной последовательности символов
Поиск наибольшей последовательности цифр в файле C++

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

Или воспользуйтесь поиском по форуму:
Dady
2 / 2 / 0
Регистрация: 20.03.2012
Сообщений: 53
18.06.2012, 13:02  [ТС]     Поиск в файле заданной последовательности символов #19
А почему именно на английском?
Yandex
Объявления
18.06.2012, 13:02     Поиск в файле заданной последовательности символов
Ответ Создать тему
Опции темы

Текущее время: 21:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru