Spec-Zone.ru › C++

std::basic_istream

Определено в заголовке <istream>
template< 
    class CharT, 
    class Traits = std::char_traits<CharT>
> class basic_istream : virtual public std::basic_ios<CharT, Traits>

Шаблон класса basic_istream обеспечивает поддержку операций ввода высокого уровня для потоков символов. Поддерживаемые операции включают форматированный ввод (например, целочисленные значения или символы и строки символов, разделенные пробелами) и неформатированный ввод (например, символы и массивы символов). Эта функциональность реализуется с использованием интерфейса, предоставляемого базовым классом basic_streambuf, доступ к которому осуществляется через базовый класс basic_ios. Единственный не наследуемый член данных basic_istream, в большинстве реализаций, — это значение, возвращаемое функцией basic_istream::gcount().

cpp/io/ios base cpp/io/basic iosstd-basic istream-inheritance.svg

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

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

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

Глобальные объекты

Библиотека стандартной библиотеки предоставляет два глобальных объекта basic_istream.

Определено в заголовке <iostream>
cinwcin
считывает данные из стандартного потока ввода C stdin;
(глобальный объект)

Типы членов

Тип члена Определение
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

Члены-функции

(конструктор)
конструирует объект
(публичный член-функция)
(деструктор)
[виртуальный]
деструктирует объект
(виртуальная публичная член-функция)
operator=
(C++11)
перемещающее присваивание из другого basic_istream
(защищённый член-функция)
Форматированный ввод
operator>>
извлекает форматированные данные
(публичный член-функция)
Неформатированный ввод
get
извлекает символы
(публичный член-функция)
peek
читает следующий символ без его извлечения
(публичный член-функция)
unget
возвращает символ назад в поток ввода
(публичный член-функция)
putback
помещает символ в поток ввода
(публичный член-функция)
getline
извлекает символы до тех пор, пока не встретится заданный символ
(публичный член-функция)
ignore
извлекает и игнорирует символы до тех пор, пока не встретится заданный символ
(публичный член-функция)
read
извлекает блоки символов
(публичный член-функция)
readsome
извлекает уже доступные блоки символов
(публичный член-функция)
gcount
возвращает количество символов, извлечённых последней операцией неформатированного ввода
(публичный член-функция)
Управление позицией
tellg
возвращает указатель позиции ввода
(публичный член-функция)
seekg
устанавливает указатель позиции ввода
(публичный член-функция)
Разное
sync
синхронизирует с базовым устройством хранения данных
(публичный член-функция)
swap
(C++11)
обменивается объектами потока, за исключением связанного буфера
(защищённый член-функция)

Вложенные классы

sentry
реализует базовые логические элементы для подготовки потока к операциям ввода
(публичный вложенный класс)

Нечлены-функции

operator>>(std::basic_istream)
извлекает символы и массивы символов
(шаблон функции)

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

Типы членов

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

Члены-функции

Функции состояния
good
проверяет, не возникла ли ошибка, т.е. доступны операции ввода-вывода
(общедоступная функция-член std::basic_ios<CharT,Traits>)
eof
проверяет, достигнут ли конец файла
(общедоступная функция-член std::basic_ios<CharT,Traits>)
fail
проверяет, возникла ли ошибка
(общедоступная функция-член std::basic_ios<CharT,Traits>)
bad
проверяет, возникла ли невосстановимая ошибка
(общедоступная функция-член std::basic_ios<CharT,Traits>)
operator!
проверяет, возникла ли ошибка (синоним fail())
(общедоступная функция-член std::basic_ios<CharT,Traits>)
operator bool
проверяет, не возникла ли ошибка (синоним !fail())
(общедоступная функция-член std::basic_ios<CharT,Traits>)
rdstate
возвращает флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
setstate
устанавливает флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
clear
изменяет флаги состояния
(общедоступная функция-член std::basic_ios<CharT,Traits>)
Форматирование
copyfmt
копирует информацию о форматировании
(общедоступная функция-член std::basic_ios<CharT,Traits>)
fill
управляет символом заполнения
(общедоступная функция-член std::basic_ios<CharT,Traits>)
Разное
exceptions
управляет маской исключений
(общедоступная функция-член std::basic_ios<CharT,Traits>)
imbue
задаёт локаль
(общедоступная функция-член std::basic_ios<CharT,Traits>)
rdbuf
управляет ассоциированным буфером потока
(общедоступная функция-член std::basic_ios<CharT,Traits>)
tie
управляет связанным потоком
(общедоступная функция-член std::basic_ios<CharT,Traits>)
narrow
сужает символы
(общедоступная функция-член std::basic_ios<CharT,Traits>)
widen
расширяет символы
(общедоступная функция-член std::basic_ios<CharT,Traits>)

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

Члены-функции

Форматирование
flags
управляет флагами форматирования
(общедоступная функция-член std::ios_base)
setf
устанавливает определённый флаг форматирования
(общедоступная функция-член std::ios_base)
unsetf
сбрасывает определённый флаг форматирования
(общедоступная функция-член std::ios_base)
precision
управляет десятичной точностью операций с плавающей точкой
(общедоступная функция-член std::ios_base)
width
управляет шириной поля
(общедоступная функция-член std::ios_base)
Локали
imbue
устанавливает локаль
(общедоступная функция-член std::ios_base)
getloc
возвращает текущую локаль
(общедоступная функция-член std::ios_base)
Внутренний расширяемый массив
xalloc
[static]
возвращает уникальный целочисленный идентификатор, пригодный для использования в качестве индекса к pword() и iword()
(общедоступная статическая функция-член std::ios_base)
iword
при необходимости изменяет размер частного хранилища и обеспечивает доступ к элементу типа long по заданному индексу
(общедоступная функция-член std::ios_base)
pword
при необходимости изменяет размер частного хранилища и обеспечивает доступ к элементу типа void* по заданному индексу
(общедоступная функция-член std::ios_base)
Разное
register_callback
регистрирует функцию обратного вызова событий
(общедоступная функция-член std::ios_base)
sync_with_stdio
[static]
задаёт, будут ли C++ и C библиотеки ввода-вывода взаимодействовать
(общедоступная статическая функция-член std::ios_base)
Вложенные классы
failure
исключение потока
(общедоступный вложенный класс std::ios_base)
Init
инициализирует стандартные объекты потоков
(общедоступный вложенный класс std::ios_base)

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

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

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

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

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

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

Константа Объяснение
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)
iostate
Тип состояния потока

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

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

(typedef)
seekdir
Тип направления поиска

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

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

(typedef)
event
Указывает тип события
(перечисление)
event_callback
Тип обратной функции
(typedef)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_istream

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API