Загрузка...

ВВОД/ВЫВОД В ПОТОК С++


Система ввода/вывода – неотъемлемая часть среды программирования С++, и она занимает в языке особое место?
В заголовочном файле iostream.h содержаться следующие объявления одного потока ввода и трех потоков вывода:
extern istream_withassign _Cdecl cin; //Объект потока ввода
extern ostream_withassign _Cdecl cout; //Объект потока вывода
extern ostream_withassign _Cdecl cerr; //Объект потока вывода ошибок
extern ostream_withassign _Cdecl clog; //Объект буферизованного потока вывода ошибок
Поток является промежуточным звеном между программой и устройством ввода и вывода. Поток может быть присоединён к различным устройствам: консоли, принтеру, фиктивному устройству, а так же к файлам на диске.

cin >> v; // Прочитать из стандартного потока ввода
cout << v; // Записать в стандартный поток вывода

Обычно стандартный поток вывода cout присоединен к экрану терминала? Простейшая программа, использующая операцию вывода, имеет следующий вид:
#include <iostream.?h>
void main(void)
{
cout << “Hello, world!”;
}
Приоритет операций << и >> позволяет помещать в оператор вывода арифметические выражения, не прибегая к использованию скобок, зато при использовании логических выражений или операций присваивания скобки использовать необходимо:
cout << “x+y =” << x+y <<”; x&y =” << (x&y) << “\n”;
Для ввода данных в программу используется стандартный поток ввода? Он имеет много общего с выводом данных? Обычно стандартный поток ввода соединен с клавиатурой cin.
int i;
float y;

cin >> i >> f ;

Форматирование вывода.

Для форматирования вывода можно установить несколько флагов, для этого используются функции-члены flags, setf, unsetf.
unsigned v =12345;
cout << «Before: » << v << endl;
cout.setf(cout.hex); //Модификация потока
cout << «After: » << v << endl;
Для форматирования можно подключить заголовочный файл Iomanip.h, тогда используем манипуляторы
cout << «In hexadecimal v == » << hex << v << endl;
cout << «In decimal v == » << dec << v << endl;

ends вставить нулевой завершающий символ в строку
endl начать новую строку
flush выполнить довывод в поток
oct 8-ричная система счисления
setbase(int n) установить систему счисления с основанием n
setfill(int c) использовать символ с для заполнения при выравнивании
setw(unt n) установить ширину поля
setprecision(int n) установить точность вывода значений после запятой
Для выравнивания по правому краю целочисленных переменных можно задать: cout.width(8); но он не оказывает влияние на следующее выводимое значение.

Загрузка...