Пространства имён
Варианты
Действия

std::ios_base

Материал из cppreference.com
< cpp‎ | io
 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print(C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
ios_base
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
std::ios_base
Функции-члены
Форматирование
Оригинал:
Formatting
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Языки
Оригинал:
Locales
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Внутренние расширяемый массив
Оригинал:
Internal extensible array
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Разное
Оригинал:
Miscellaneous
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Член классов
Оригинал:
Member classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Член типов
Оригинал:
Member types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
Определено в заголовочном файле <ios>
class ios_base;

Класс ios_base — это многофункциональный класс, который служит в качестве базового класса для всех классов потока ввода-вывода. Он содержит несколько видов данных:

1) информация о состоянии: флаги статуса потока;
2) информация об управлении: флаги, которые управляют форматированием входных и выходных последовательностей и используемом языковом стандарте;
3) частные хранилища: индексированные расширяемые структуры данных, которые позволяют хранить данные типов long и void* и могут быть реализованы в виде двух массивов произвольной длины, или одного массива структур из двух элементов, или другой контейнер;
4) функции обратного вызова: произвольное число определяемых пользователем функций, которые будут вызываться из imbue(), copyfmt() и ~ios_base().

Типичная реализация содержит константы, соответствующие всем значениям fmtflags, iostate, openmode и seekdir, которые указаны ниже, и переменные для хранения текущей точности, ширины и флагов форматирования, маски исключений, состояния ошибок буфера, контейнера переменного размера с функциями обратного вызова, используемого в настоящий момент языкового стандарта, частного хранилища и статической целочисленной переменной для xalloc().

Содержание

[править]Функции-члены

создает объект
(protected функция-элемент)[править]
уничтожает объект
(virtual public функция-элемент)[править]
Форматирование
управляет флагами форматирования
(public функция-элемент)[править]
устанавливает заданные флаги форматирования
(public функция-элемент)[править]
сбрасывает заданные флаги форматирования
(public функция-элемент)[править]
управляет десятичной точностью операций над числами с плавающей запятой
(public функция-элемент)[править]
управляет символьной шириной полей
(public функция-элемент)[править]
Языковой стандарт
устанавливает языковой стандарт
(public функция-элемент)[править]
возвращает текущий языковой стандарт
(public функция-элемент)[править]
Внутренний расширяемый массив
[static]
возвращает уникальное в масштабах программы целое число, которое является безопасным для использования в качестве индекса для pword() и iword()
(public static функция-элемент)[править]
при необходимости изменяет размер закрытого хранилища и предоставляет доступ к элементу типа long по заданному индексу
(public функция-элемент)[править]
при необходимости изменяет размер закрытого хранилища и предоставляет доступ к элементу типа void* по заданному индексу
(public функция-элемент)[править]
Прочее
регистрирует функцию обратного вызова на событие
(public функция-элемент)[править]
устанавливает, являются ли библиотеки ввода-вывода C и C++ функционально совместимыми
(public static функция-элемент)[править]

[править]Переменные-члены

Поток исключение
Оригинал:
stream exception
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public элемент класса)[править]
инициализирует стандартные объекты потока
Оригинал:
initializes standard stream objects
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public элемент класса)[править]

[править]Типы-члены и константы-члены

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

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

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

(определение типа)[править]
тип флагов форматирования

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

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

(определение типа)[править]
тип состояния потока

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

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

(определение типа)[править]
тип направления поиска

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

Константа Описание[править]
beg начало потока[править]
end конец потока[править]
cur текущее положение указателя позиции потока[править]

(определение типа)[править]
тип события
(перечисление)[править]
тип функции обратного вызова
(определение типа)[править]
Устаревшие типы-члены
Тип Описание
io_state(устарело) целочисленный тип, который может быть использован как iostate
open_mode(устарело) целочисленный тип, который может быть использован как openmode
seek_dir(устарело) целочисленный тип, который может быть использован как seekdir
streamoff(устарело) неуточненный тип, который может быть использован как off_type, не обязательно std::streamoff
streampos(устарело) неуточненный тип, который может быть использован как pos_type, не обязательно std::streampos
(до C++17)

[править]Отчет об ошибках

Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 1357 C++98 определенные в std::ios_base операторы operator~,
operator& и operator| для типов openmode, fmtflags
и iostate нарушают требования типа BitmaskType[1]
определения удалены
  1. Тип BitmaskType должен сам поддерживать битовые операции. Поддержка битовых операций не должна быть предоставлена внешними средствами.

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

управляет произвольным буфером потока
(шаблон класса)[править]
close