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!\n"; // в Си: 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;