На этом шаге мы приведем простейший пример использования перечисленных функций.
Классический фильтр, который просто выводит в выходной поток данных все прочитанные символы, выглядит на C++ так:
#include <iostream> using namespace std; int main() { char c; // Пока удается прочитать символ while (cin.get(c)) { // Вывести прочитанный символ в выходной поток cout.put(c); } }
При каждом вызове cin.get(c) следующий символ присваивается переменной с, которая передается по ссылке. Функция get() возвращает объект потока данных; таким образом, условие while остается истинным до тех пор, пока поток данных находится в нормальном состоянии.
Чтобы повысить эффективность программы, можно работать напрямую с потоковыми буферами. Далее мы приведем версию этого примера, в которой при вводе-выводе используются буферные итераторы, а в еще одной версии все входные данные будут копироваться одной командой.
Со следующего шага мы веренмся к манипуляторам.