Ввод-вывод данных с помощью стандартных потоков в С++
В ходе ввода исходных данных и вывода результатов работы, программа взаимодействует с внешними устройствами. Одним из случаев подобного взаимодействия служит обмен данными с консолью (консоль - это совокупность клавиатуры и экрана монитора).
В языке программирования С++ консольный ввод-вывод данных выполняется с использованием стандартных потоков.
Стандартными называются потоки, связанные со стандартными системными устройствами ввода-вывода.
Эти потоки создаются при подключении заголовочного файла 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 >> width >> heigth;