Шаг 283.
Библиотека STL. Алгоритмы STL. Модифицирующие алгоритмы. Копирование элементов (окончание)

    На этом шаге мы рассмотрим использование алгорима copy() в качестве фильтра.

    В последнем примере алгоритм сору() обеспечивает фильтрацию данных между стандартными входным и выходным потоками. Программа читает строки и выводит их по одной в каждой строке:

//---------------------------------------------------------------------------

#include <vcl.h>
#include <iterator>
#include "algostuff.hpp"

#include <conio.h> //необходимо для getch()

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
using namespace std;

std::string ToRus(const std::string &in)
{
  char *buff = new char [in.length()+1];
  CharToOem(in.c_str(),buff);
  std::string out(buff);
  delete [] buff;
  return out;
}


int main()
{
  copy (istream_iterator<string>(cin),         // Начало источника
        istream_iterator<string>(),            // Конец источника
        ostream_iterator<string>(cout,"\n"));  // Приемник


  getch();
  return 0;
}

//---------------------------------------------------------------------------
Текст этого примера можно взять здесь.

    Результат выполнения программы выглядит так:


Рис.1. Результат работы приложения

    На следующем шаге мы рассмотрим преобразование и объединение элементов.




Предыдущий шаг Содержание Следующий шаг