Namespaces
Variants

std:: basic_iostream

From cppreference.net
< cpp ‎ | io
Определено в заголовке <istream>
template <

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_iostream :
public basic_istream < CharT, Traits > ,

public basic_ostream < CharT, Traits >

Класс-шаблон basic_iostream предоставляет поддержку операций высокоуровневого ввода/вывода для потоков. Поддерживаемые операции включают последовательное чтение или запись и форматирование. Эта функциональность реализована поверх интерфейса, предоставляемого классом std::basic_streambuf . Доступ к ней осуществляется через класс std::basic_ios .

cpp/io/ios base cpp/io/basic ios cpp/io/basic istream cpp/io/basic ostream std-basic iostream-inheritance.svg

Диаграмма наследования

Предоставлены несколько typedef для распространённых символьных типов:

Определено в заголовке <istream>
Тип Определение
std::iostream std :: basic_iostream < char >
std::wiostream std :: basic_iostream < wchar_t >

Содержание

Типы членов

Тип члена Определение
char_type CharT
traits_type Traits ; программа некорректна, если Traits::char_type не является CharT .
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Функции-члены

конструирует объект
(public member function)
[virtual]
уничтожает объект
(virtual public member function)

Защищенные функции-члены

(C++11)
перемещающее присваивание другого basic_iostream
(защищённая функция-член)
(C++11)
обменивает состояние с другим basic_iostream
(публичная функция-член)

Унаследовано от std:: basic_istream

Функции-члены

Форматированный ввод
извлекает форматированные данные
(публичная функция-член std::basic_istream<CharT,Traits> )
Неформатированный ввод
извлекает символы
(публичная функция-член std::basic_istream<CharT,Traits> )
читает следующий символ без его извлечения
(публичная функция-член std::basic_istream<CharT,Traits> )
возвращает символ обратно в поток
(публичная функция-член std::basic_istream<CharT,Traits> )
помещает символ обратно во входной поток
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает символы до нахождения заданного символа
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает и отбрасывает символы до нахождения заданного символа
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает блоки символов
(публичная функция-член std::basic_istream<CharT,Traits> )
извлекает уже доступные блоки символов
(публичная функция-член std::basic_istream<CharT,Traits> )
возвращает количество символов, извлеченных последней операцией неформатированного ввода
(публичная функция-член std::basic_istream<CharT,Traits> )
Позиционирование
возвращает индикатор позиции ввода
(публичная функция-член std::basic_istream<CharT,Traits> )
устанавливает индикатор позиции ввода
(публичная функция-член std::basic_istream<CharT,Traits> )
Прочие функции
синхронизирует с базовым устройством хранения
(публичная функция-член std::basic_istream<CharT,Traits> )

Классы-члены

реализует базовую логику подготовки потока к операциям ввода
(публичный класс-член std::basic_istream<CharT,Traits> )

Унаследовано от std:: basic_ostream

Функции-члены

Форматированный вывод
вставляет форматированные данные
(публичная функция-член std::basic_ostream<CharT,Traits> )
Неформатированный вывод
вставляет символ
(публичная функция-член std::basic_ostream<CharT,Traits> )
вставляет блоки символов
(публичная функция-член std::basic_ostream<CharT,Traits> )
Позиционирование
возвращает индикатор позиции вывода
(публичная функция-член std::basic_ostream<CharT,Traits> )
устанавливает индикатор позиции вывода
(публичная функция-член std::basic_ostream<CharT,Traits> )
Прочие функции
синхронизирует с базовым устройством хранения
(публичная функция-член std::basic_ostream<CharT,Traits> )

Классы-члены

реализует базовую логику подготовки потока к операциям вывода
(публичный класс-член std::basic_ostream<CharT,Traits> )

Наследуется от std:: basic_ios

Типы членов

Тип члена Определение
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Функции-члены

Функции состояния
проверяет, что ошибок не произошло, т.е. операции ввода-вывода доступны
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, достигнут ли конец файла
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, произошла ли ошибка
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, произошла ли неустранимая ошибка
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, произошла ли ошибка (синоним fail() )
(публичная функция-член std::basic_ios<CharT,Traits> )
проверяет, что ошибок не произошло (синоним ! fail() )
(публичная функция-член std::basic_ios<CharT,Traits> )
возвращает флаги состояния
(публичная функция-член std::basic_ios<CharT,Traits> )
устанавливает флаги состояния
(публичная функция-член std::basic_ios<CharT,Traits> )
изменяет флаги состояния
(публичная функция-член std::basic_ios<CharT,Traits> )
Форматирование
копирует информацию о форматировании
(публичная функция-член std::basic_ios<CharT,Traits> )
управляет символом-заполнителем
(публичная функция-член std::basic_ios<CharT,Traits> )
Прочие
управляет маской исключений
(публичная функция-член std::basic_ios<CharT,Traits> )
устанавливает локаль
(публичная функция-член std::basic_ios<CharT,Traits> )
управляет связанным буфером потока
(публичная функция-член std::basic_ios<CharT,Traits> )
управляет связанным потоком
(публичная функция-член std::basic_ios<CharT,Traits> )
сужает символы
(публичная функция-член std::basic_ios<CharT,Traits> )
расширяет символы
(публичная функция-член std::basic_ios<CharT,Traits> )

Унаследовано от std:: ios_base

Функции-члены

Форматирование
управляет флагами формата
(публичная функция-член std::ios_base )
устанавливает конкретный флаг формата
(публичная функция-член std::ios_base )
сбрасывает конкретный флаг формата
(публичная функция-член std::ios_base )
управляет точностью десятичных чисел с плавающей точкой
(публичная функция-член std::ios_base )
управляет шириной поля
(публичная функция-член std::ios_base )
Локали
устанавливает локаль
(публичная функция-член std::ios_base )
возвращает текущую локаль
(публичная функция-член std::ios_base )
Внутренний расширяемый массив
[static]
возвращает уникальное для программы целое число, безопасное для использования в качестве индекса для pword() и iword()
(публичная статическая функция-член std::ios_base )
изменяет размер приватного хранилища при необходимости и предоставляет доступ к long элементу по заданному индексу
(публичная функция-член std::ios_base )
изменяет размер приватного хранилища при необходимости и предоставляет доступ к void * элементу по заданному индексу
(публичная функция-член std::ios_base )
Разное
регистрирует функцию обратного вызова событий
(публичная функция-член std::ios_base )
устанавливает, являются ли библиотеки ввода-вывода C++ и C совместимыми
(публичная статическая функция-член std::ios_base )
Классы-члены
исключение потока
(публичный класс-член std::ios_base )
инициализирует объекты стандартных потоков
(публичный класс-член std::ios_base )

Типы членов и константы

Тип Объяснение
тип режима открытия потока

Также определены следующие константы:

Константа Объяснение
app переход в конец потока перед каждой записью
binary открытие в бинарном режиме
in открытие для чтения
out открытие для записи
trunc удаление содержимого потока при открытии
ate переход в конец потока сразу после открытия
noreplace (C++23) открытие в эксклюзивном режиме

(typedef)
тип флагов форматирования

Также определены следующие константы:

Константа Объяснение
dec использование десятичной системы счисления для целочисленного ввода/вывода: см. std::dec
oct использование восьмеричной системы счисления для целочисленного ввода/вывода: см. std::oct
hex использование шестнадцатеричной системы счисления для целочисленного ввода/вывода: см. std::hex
basefield dec | oct | hex . Полезно для операций маскирования
left выравнивание по левому краю (добавляет символы заполнения справа): см. std::left
right выравнивание по правому краю (добавляет символы заполнения слева): см. std::right
internal внутреннее выравнивание (добавляет символы заполнения во внутреннюю указанную точку): см. std::internal
adjustfield left | right | internal . Полезно для операций маскирования
scientific генерация типов с плавающей точкой с использованием научной нотации, или шестнадцатеричной нотации в сочетании с fixed : см. std::scientific
fixed генерация типов с плавающей точкой с использованием фиксированной нотации, или шестнадцатеричной нотации в сочетании с scientific : см. std::fixed
floatfield scientific | fixed . Полезно для операций маскирования
boolalpha вставка и извлечение типа bool в буквенно-цифровом формате: см. std::boolalpha
showbase генерация префикса, указывающего систему счисления для целочисленного вывода, требование индикатора валюты в денежном вводе/выводе: см. std::showbase
showpoint безусловная генерация символа десятичной точки для вывода чисел с плавающей точкой: см. std::showpoint
showpos генерация символа + для неотрицательного числового вывода: см. std::showpos
skipws пропуск начальных пробелов перед определенными операциями ввода: см. std::skipws
unitbuf сброс вывода после каждой операции вывода: см. std::unitbuf
uppercase замена определенных строчных букв их эквивалентами в верхнем регистре в определенных операциях вывода: см. std::uppercase

(typedef)
тип состояния потока

Также определены следующие константы:

Константа Объяснение
goodbit отсутствие ошибок
badbit неустранимая ошибка потока
failbit ошибка операции ввода/вывода (ошибка форматирования или извлечения)
eofbit достигнут конец файла в ассоциированной входной последовательности

(typedef)
тип направления позиционирования

Также определены следующие константы:

Константа Объяснение
beg начало потока
end конец потока
cur текущая позиция индикатора позиции потока

(typedef)
определяет тип события
(enum)
тип функции обратного вызова
(typedef)

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 271 C++98 типы членов char_type , traits_type , int_type , pos_type и off_type не были определены
( std::basic_istream и std::basic_ostream оба определяют эти типы, что приводило к неоднозначности)
определить
эти типы

Смотрите также