Znajdowanie wyrazu i wypisanie linii tekstu na wyjście.

0

Cześć!
Mam do napisania program, który wyszukuje w pliku słowo. Gdy już je znajdzie to wypisuje na standardowe wyjście całą linijkę w którym występuje, aż do napotkania znaku końca linii. Nie wiem jak się za to zabrać. Koniecznie musi być to zrobione z pomocą biblioteki string i argumentów wywołania. Napisałem coś takiego.
Proszę o jakieś sugestie.
Dzięki i pozdrawiam!

#include <iostream>
#include <string>

using namespace std;

int main(int argc, char *argv[])
{
    fstream input(argv[2]);
    string w1(argv[1]);
    string line;
    while(getline(input, line))
    {
        for(int i=0; (i=line.find(w1,i)); i++)
        {
        }
        cout << line << endl;
    }
    system("pause");
    return 0;
}
1

Nie znam c++, ale jak chcesz to zerknij:

http://cpp.sh/7vjw

// Example program
#include <iostream>
#include <string>

using namespace std;
int main()
{
    string texts[4];
    texts[0] = "fancy text fancy text fancy text _4programmers_ fancy text ";
    texts[1] = "test abc 123 test abc 123 test abc 123 test abc 123";
    texts[2] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx _4programmers_ xxxxxxxxxxxxx";
    texts[3] = "12312312312312312312312312312312435435";

    string word_to_find = "_4programmers_";

    for (int i=0; i<4; i++)
    {
        if (texts[i].find(word_to_find) != string::npos)
        {
           cout << texts[i] << endl;
        }
    }
}

output:

fancy text fancy text fancy text _4programmers_ fancy text 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx _4programmers_ xxxxxxxxxxxxx
 

Mam nadzieje, że o to Ci chodziło

0

A jak to zapisać, aby wypisywało z pliku, bo nie mogę znaleźć rozwiązania?

1
RipvanWinkle napisał(a):

A jak to zapisać, aby wypisywało z pliku, bo nie mogę znaleźć rozwiązania?

          while (getline(input, line))
          {
                if (line.find("slowo") != string::npos) cout << line << endl;
          }

1 użytkowników online, w tym zalogowanych: 0, gości: 1