std:: basic_ofstream
|
Определено в заголовочном файле
<fstream>
|
||
|
template
<
class
CharT,
|
||
Шаблон класса
basic_ofstream
реализует операции высокоуровневого вывода для файловых потоков. Он связывает файловый буфер потока (
std::basic_filebuf
) с высокоуровневым интерфейсом (
std::basic_ostream
).
Типичная реализация
std::basic_ofstream
содержит только один недеривированный член данных: экземпляр
std::
basic_filebuf
<
CharT, Traits
>
.
Диаграмма наследования
Предоставлены несколько typedef для распространённых символьных типов:
|
Определено в заголовочном файле
<fstream>
|
|
| Тип | Определение |
std::ofstream
|
std :: basic_ofstream < char > |
std::wofstream
|
std :: basic_ofstream < 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
|
native_handle_type
(C++26)
|
определяемый реализацией
тип, который является
TriviallyCopyable
и
semiregular
|
Функции-члены
|
конструирует файловый поток
(public member function) |
|
|
(destructor)
[virtual]
(implicitly declared)
|
уничтожает объект
basic_ofstream
и связанный буфер, закрывает файл
(virtual public member function) |
|
(C++11)
|
перемещает файловый поток
(public member function) |
|
(C++11)
|
обменивает два файловых потока
(public member function) |
|
возвращает базовый объект файлового устройства
(public member function) |
|
|
(C++26)
|
возвращает базовый определяемый реализацией дескриптор
(public member function) |
Операции с файлами |
|
|
проверяет, ассоциирован ли поток с файлом
(public member function) |
|
|
открывает файл и ассоциирует его с потоком
(public member function) |
|
|
закрывает ассоциированный файл
(public member function) |
|
Функции, не являющиеся членами класса
|
(C++11)
|
специализирует алгоритм
std::swap
(шаблон функции) |
Унаследовано от 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
)
|
|
|
[static]
|
устанавливает, являются ли библиотеки ввода-вывода C++ и C совместимыми
(публичная статическая функция-член
std::ios_base
)
|
Классы-члены |
|
|
исключение потока
(публичный класс-член
std::ios_base
)
|
|
|
инициализирует объекты стандартных потоков
(публичный класс-член
std::ios_base
)
|
|
Типы членов и константы |
|||||||||||||||||||||||||||||||||||||||
| Тип | Объяснение | ||||||||||||||||||||||||||||||||||||||
|
тип режима открытия потока
Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
тип флагов форматирования
Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
тип состояния потока
Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
тип направления позиционирования
Также определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
определяет тип события
(enum) |
|||||||||||||||||||||||||||||||||||||||
|
тип функции обратного вызова
(typedef) |
|||||||||||||||||||||||||||||||||||||||
Примечания
| Макрос тестирования возможностей | Значение | Стандарт | Возможность |
|---|---|---|---|
__cpp_lib_fstream_native_handle
|
202306L
|
(C++26) | Поддержка нативных дескрипторов |
Пример
#include <fstream> #include <iostream> #include <string> int main() { std::string filename = "Test.b"; { std::ofstream ostrm(filename, std::ios::binary); double d = 3.14; ostrm.write(reinterpret_cast<char*>(&d), sizeof d); // binary output ostrm << 123 << "abc" << '\n'; // text output } // read back std::ifstream istrm(filename, std::ios::binary); double d; istrm.read(reinterpret_cast<char*>(&d), sizeof d); int n; std::string s; istrm >> n >> s; std::cout << " read back: " << d << ' ' << n << ' ' << s << '\n'; }
Вывод:
read back: 3.14 123 abc