Если строка содержит определенное слово, сохраните его - PullRequest
0 голосов
/ 04 февраля 2012
#include <iostream>
#include <fstream>

using namespace std;

int main()
{

    ifstream  stream1("source.txt");
    string line ;
    ofstream stream2("target.txt");

        while( std::getline( stream1, line ) )
        {
                stream2 << line << endl;
                cout << line << endl;
        }


    stream1.close();
    stream2.close();    return 0;
}

Как я могу сделать так, чтобы этот код сделал так, чтобы, если он находит слово, например, "HELLO" в строке, он сохранял в stream2 эту строку целиком? Остальные строки, если в нем нет этого слова, не будут сохранены в stream2.

В основном, если он находит слово "HELLO" в строке во время чтения. Это выводит это. Если нет, то пропустите строку.

1 Ответ

1 голос
/ 04 февраля 2012
while( std::getline( stream1, line ) )
{
    if(line.find("hello") != string::npos)
        stream2 << line << endl;

    cout << line << endl;
}
...