Реализация ввода/вывода в программировании языков С/С++

Частью стандартной библиотеки С++ является библиотека iostream, которая реализована как иерархия классов и обеспечивает базовые возможности ввода/вывода. Ввод с терминала, называемый стандартным вводом, “привязан” к предопределенному объекту cin. Вывод на терминал, или стандартный вывод, привязан к объекту cout. Третий предопределенный объект, cerr, представляет собой стандартный вывод для ошибок. Обычно он используется для вывода сообщений об ошибках и предупреждений. Для использования библиотеки ввода/вывода необходимо включить соответствующий заголовочный файл:

Чтобы значение поступило в стандартный вывод или в стандартный вывод для ошибок используется оператор «:

Последовательность “\n” представляет собой символ перехода на новую строку. Вместо “\n” мы можем использовать предопределенный манипулятор endl.

Манипулятор endl не просто выводит данные (символ перехода на новую строку), но и производит сброс буфера вывода. Операторы вывода можно сцеплять. Так, три строки в предыдущем примере заменяются одной:

Для чтения значения из стандартного ввода применяется оператор ввода ( »):

Операторы ввода, как и операторы вывода, можно сцеплять:

Каким образом ввести заранее неизвестное число значений?.

считывает по одному слову из стандартного ввода до тех пор, пока не считаны все слова. Выражение

возвращает false, когда достигнут конец файла. Вот пример простой законченной программы, считывающей по одному слову из cin и выводящей их в cout:

Вот первое предложение из произведения Джеймса Джойса “Пробуждение Финнегана”:

Если запустить приведенную выше программу и набрать с клавиатуры данное предложение, мы увидим на экране терминала следующее: