iostream

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Стандартная библиотека языка программирования C++
Стандартная библиотека шаблонов
C++11
Стандартная библиотека языка программирования Си
п·о·р

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>
int main()
{
  std::cout << "Hello, world!" << std::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;

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]