Wyszukiwanie fraz z pliku tekstowego
Ostatnio zmodyfikowano 2017-01-12 18:59
bullersos Temat założony przez niniejszego użytkownika |
Wyszukiwanie fraz z pliku tekstowego » 2017-01-12 18:41:52 Witam, robię projekt, w którym trzeba napisać prosty organizator. Zapisuje sobie wydarzenia wraz z datami do pliku tekstowego txt. Wydarzenia są zapisane wierszami w takim mniej więcej formacie: [12.11.2018] - weqerwqwqe (dom) [23.1.2019] - manip (praca) [11.12.2019] - asdf (praca) Jednym z zadań jest napisanie funkcji, za pomocą której można w konsoli wpisać dowolne słowo, a program powinien pokazywać wszystkie wiersze, w których znajduje się to słowo. Na przykład po wpisaniu frazy: "praca", powinno się wyświetlać: [23.1.2019] - manip (praca) [11.12.2019] - asdf (praca) I właśnie ciągle zmagam się z napisaniem tej funkcji. Próbowałem napisać coś takiego : string fraza; cout << "Wpisz szukana fraze: "; ifstream plik; plik.open( "wydarzenie.txt" ); plik.seekg( 0 ); while( cin >> fraza ) { getline( plik, fraza ); cout << fraza << "\n"; } plik.close();
Ale wyświetla tylko pierwszy wiersz, nieważne co napiszę. Jak mozna byłoby to zmienić, by uzyskać pożądany efekt. Czy probować coś w ogóle innego? |
|
karambaHZP |
» 2017-01-12 18:51:07 #include <iostream> #include <string> #include <fstream>
int main() { std::string my_word { "manip" }; std::ifstream fin( "test.txt" ); if( fin ) { std::string line; while( std::getline( fin, line ) ) { if( line.find( my_word ) != std::string::npos ) { std::cout << line << '\n'; } } } } Dane w pliku: [12.11.2018] - weqerwqwqe (dom) [23.1.2019] - manip (praca) [11.12.2019] - asdf (praca) [12.11.2018] - weqerwqwqe (dom2) [23.1.2019] - manip (praca2) [11.12.2019] - asdf (praca2)Dane wyjściowe: [23.1.2019] - manip (praca) [23.1.2019] - manip (praca2) |
|
bullersos Temat założony przez niniejszego użytkownika |
» 2017-01-12 18:59:17 Dzięki wielkie, zadziałało, temat do zamknięcia |
|
« 1 » |