Четвертый BORLAND С++ и его окружение

       

Потоки ввода-вывода


Потоком ввода-вывода называется абстрактное понятие, относящееся

к любому переносу данных от источника (или поставщика данных) к приемнику (или потребителю) данных.

В Турбо и Borland C++ используется новый способ работы с потоками ввода-вывода, который заключается в использовании операций '>>' и

'<<'. Функции потоков сокращают время разработки программы, избавляя

от необходимости непосредственно иметь дело с различными типами форматов, которые требуются для функций рrintf и scanf. Ниже показан сравнительный пример:

Си Турбо и Borland C++

#include <stdio.h> #include <iostream.h>

main() main()

{ {

int k; int k;

printf("Введите число: "); cout << "Введите число: ";

scanf("%d", &k); cin >> k;

printf("Число: %d\n", k); cout << "Число: " << k;



} }

cout - стандартный выходной поток (по умолчанию - экран). Данные

(например, значения переменных и строки) посылаются в поток с помощью

операции <<. Операция << (читающаяся как "поместить в...") пересылает

данные справа от нее в поток слева.

cin - стандартный входной поток (обычно - клавиатура). Значения,

вводимые с клавиатуры, присваиваются переменным с помощью операции

>>. Использование операций >> и << для потоков ввода/вывода является

типичным примером переопределения операций в С++ (см. ).

Кроме cout и cin в библиотеке iostream предопределены - cerr

(стандартное устройство для вывода сообщений об ошибках, соответствующее stderr в Си) и clog (полностью буферизованная версия cerr (в Си

эквивалента нет).

Реальное преимущество при работе с потоками С++ заключается в

той простоте, с какой можно переопределять операторы << и >> при работе с собственными типами данных. В C++ есть два класса, istream и

ostream, которые можно использовать для ввода в объекты и вывода из

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



Содержание раздела