• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Поиск слова в файле и возврат номера строки

  • Автор темы viramir
  • Дата начала
V

viramir

Нужно найти слово в файле и возвратить номер строки(1,2,3...) на которой это слово встречается
 

sinner67

Green Team
24.03.2017
279
357
BIT
0
Первая же ссылка в гугле на stackoverflow
Код:
#include "iostream"
#include <string>
#include <fstream>

using namespace std;
int main(){
    ifstream file("C://1.txt"); // открыли файл с текстом
    string s, find;
    char c;

    while (!file.eof()){  // прочитали его и заполнили им строку
        file.get(c);
        s.push_back(c);
    }

    file.close(); // обязательно закрыли

    cout << "enter a world for find: ";
    cin >> find;

    int pos = s.find(find); // поиск

    if (pos == -1)
        cout << "not finded" << endl;
    else
        cout << "finded in " << pos << " simvol position" << endl;

    return 0;
}
остается только подправить на поиск окончания строки \n и проверять найденное слово на присутствие пробелов по сторонам. А то конкретно этот код найдет и КОТ и КОТорый и сКОТина.
 
Последнее редактирование:

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Нужно найти слово в файле и возвратить номер строки(1,2,3...) на которой это слово встречается
В случае с Linux это совсем просто:
grep.PNG
На виндоус это делается командой findstr -n "word" passwords.lst
findstr.PNG
[]
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!