iostream
iostream — заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от Input/Output Stream («поток ввода-вывода»). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки ввода-вывода, вместо этого используется библиотека функций. iostream управляет вводом-выводом, как и stdio.h в Си. iostream используется объекты cin, cout, cerr и clog для передачи информации и из стандартных потоков ввода, вывода, ошибок без буферизации и ошибок с буферизацией соответственно. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён — std.
Некоторые новые компиляторы (например, компилятор Visual C++ из Visual Studio .NET 2003[1]) старые библиотеки <iostream.h>
больше не поддерживают, вместо них нужно использовать только новые: #include <iostream>
.
Пример
Простейшая программа «Hello, world!» (с использованием библиотеки iostream) может быть записана так:
#include <iostream> // в Си: #include <stdio.h>
using namespace std;
int main()
{
cout << "Hello, world!" << endl; // в Си: printf("Hello, World!\n");
return 0;
}
Форматирование вывода
Функции
width(int x) | минимальное число знаков до следующего вывода |
fill(char x) | устанавливает символ-заполнитель и возвращает предыдущий символ-заполнитель. По умолчанию в качестве символа-заполнителя используется пробел |
precision(int x) | устанавливает число значащих знаков для чисел с плавающей точкой |
Пример:
cout.width(10);
cout << "ten" << "four" << "four";
Манипуляторы
Стандартная библиотека предлагает большое количество манипуляторов, среди них:
endl | перевод строки и вызов flush |
flush | выгружает содержимое буфера в поток |
hex | меняет формат вывода числа на шестнадцатеричный |
showpos | показывает + перед неотрицательными числами |
noshowpoint | скрывает десятичную точку |
Пример для манипулятора endl:
cout << "Hello, world!" << endl;