Ввод-вывод данных с помощью стандартных потоков в С++

В ходе ввода исходных данных и вывода результатов работы, программа взаимодействует с внешними устройствами. Одним из случаев подобного взаимодействия служит обмен данными с консолью (консоль - это совокупность клавиатуры и экрана монитора).

В языке программирования С++ консольный ввод-вывод данных выполняется с использованием стандартных потоков.

Стандартными называются потоки, связанные со стандартными системными устройствами ввода-вывода.

Эти потоки создаются при подключении заголовочного файла iostream (образовано от input/output stream - поток ввода-вывода), включенного в стандартную библиотеку С++.

Для вывода данных на стандартное устройство (по умолчанию - монитор) используется поток cout (аббревиатура от console output). Рассмотрим организацию вывода на консоль.

В общем виде инструкция вывода данных имеет следующий вид:

  • cout << "Hello, world!";

После выполнения этой инструкции в консоли появится сообщение Hello, world!. В инструкции используется оператор вывода, который обозначается символом <<. Данный оператор обеспечивает вывод операнда, расположенного справа от него, на устройство, указанное слева.

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

  • cout << area << '\n' << perimeter;

В данном примере с помощью управляющего символа '\n' новой строки, который не отображается на экране, обеспечивается перевод курсора в начало следующей строки.

Для передачи данных со стандартного устройства (по умолчанию - с клавиатуры) в языке С++ используется поток cin (аббревиатура от console input). Рассмотрим организацию ввода данных с помощью перечисленных средств.

В общем виде инструкция ввода данных в программу выглядит следующим образом:

  • int value;
  • cin >> value;

Символ >> служит оператором ввода. В результате выполнения данной инструкции, введенное пользователем значение, помещается, в расположенную справа от оператора ввода, переменную (в нашем случае - целочисленную переменную value). Тип вводимых данных автоматически определяется по типу принимающей переменной.

Отметим, что в поток cin можно вводить несколько значений переменных, например:

  • float width, heigth;
  • cin >> widt >> heigth;