Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 08.07.2017
Сообщений: 54

Как найти нужную строку в файле?

11.11.2018, 20:32. Показов 3391. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть два текстовых файла. В первом у нас строка, в которой нужно найти строку из второго файла. Если такая есть, вывести соответствующее сообщение.
Например в первом файле написано: "меня зовут святослав меня зовут георгий меня зовут николай"
Во втором: "меня зовут георгий".
Нужно найти эту строку в первом файле и вывести ее месторасположение(место указателя начала строки).
вот мой код, но он не работает, уже и не знаю даже в чем ошибка. использовать только символьные массивы и поток ifstream.

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
int main()
{
    setlocale(LC_ALL, "Russian");
    int N = 100;
    char buffer;
    int p, i;
    int SK = 0;
    int k = 0;
    bool test = false;
    char* ch;
    ch = new char[N];
 
    ifstream input1("C:\\Users\\Admin\\Desktop\\symbols.txt");
    ifstream input2("C:\\Users\\Admin\\Desktop\\symbols_2.txt");
 
    input2 >> ch;
 
    while (!input1.eof()) //узнать длину строки
    {
        input1.seekg(k, ios::beg);
        k++;
    }
 
    while(!input1.eof())
    {
        input1.seekg(SK, ios::beg); //перенос указателя 
        input2.read((char*)&buffer, sizeof(buffer));
        if(buffer != '\n')
        {
            SK++;
        }
        if(buffer == ch[0])
        {
            test = true;
            i = 1;
            while (i < k && test)
            {
                input2.read((char*)&buffer, sizeof(buffer));
                if (buffer != ch[i] && buffer != '\n')
                {
                    test = false;
                }
                if (buffer != '\n')
                {
                    i++;
                }
            }
 
            if(test == true)
            {
                p = 1;
                cout << "SK = " << SK;
                SK += (k - 1);
            }
        }
    }
    input1.close();
    input2.close();
    if (p == 1)
    {
        cout << "Yes\n";
    } else {
        cout << "No\n";
    }
 
    return 0;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2018, 20:32
Ответы с готовыми решениями:

Как найти нужную строку в txt файле?
Как найти нужную строку в txt файле из программы на C++. С помощью fstream. Заранее спасибо!

Открыть файл, найти нужную строку и узнать ее номер
Открыть файл, найти нужную строку и узнать ее номер.

Как найти строку Чили в текстовом файле ?
и 1 вывести ее на консоль 2 вывести ее столицу Например в текстовом файле список стран Канада Оттава США Вашимгтон Мексика...

1
3 / 2 / 1
Регистрация: 26.10.2018
Сообщений: 24
11.11.2018, 20:53
я так написал, ищем строку 123 в файлах. Если в первом есть выводим file далее номер и элемент начала этой строки.



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
    int y = 1;   
 
 
    ifstream n;
 
    n.open("File.txt");
    string t; 
    char ch; 
 
    while (true){
        n.get(ch);
        if (n.eof())break;
        t.append(1,ch);
    }
 
    string stroka = "123";
 
    if (t.find(stroka) >= 0 && t.find(stroka) != t.npos)
        cout << "file " << y << " "<< t.find(stroka) << endl;
 
    y++;
 
    n.close();
 
    n.open("2File.txt");
 
    string stroka = "123";
 
    if (t.find(stroka) >= 0 && t.find(stroka) != t.npos)
        cout << "file " << y << " " << t.find(stroka) << endl;
 
    system("pause");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2018, 20:53
Помогаю со студенческими работами здесь

Как удалить нужную i-строку и j-столбец из двумерного массива?
Как удалить нужную i-строку и j-столбец из двумерного массива?

Как в элементе управления CListCtrl установить фокус на нужную строку (Item)?
Как в элементе управления CListCtrl установить фокус на нужную строку (Item)? Ничего не получается

Найти строку в текстовом файле
Написать линейную программу без использования функций и процедур. В программе должно быть реализовано меню выбора действий: добавление...

Найти UTF-16 строку в бинарном файле
Здравствуйте, Есть вот такая процедура для поиска и замены строк в бинарном файле. Применяю ее на обычном PE-файле. Проблема в том,...

Найти самую длинную строку в файле
Вроде все норм, вот только когда пытаюсь вывести через puts() - выводит все содержимое файла посимвольно и в столбик, а через Printf() -...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru