Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Класс
Описывает объект, который управляет вставкой элементов и закодированными объектами в буфер потока класса basic_filebuf< Elem, Tr>с элементами типа Elem, признаки символов которых определяются классом Tr. Дополнительные сведения см. в разделе basic_filebuf.
Синтаксис
template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<Elem, Tr>
Параметры
Elem
Базовый элемент буфера файла.
Tr
Признаки базового элемента буфера файла (обычно char_traits<Elem>).
Замечания
wchar_t При специализации basic_ofstream записи в файл, если файл открыт в текстовом режиме, он будет записывать последовательность MBCS. Внутреннее представление будет использовать буфер символов wchar_t.
Объект сохраняет объект класса basic_filebuf< Elem, Tr>.
Пример
В следующем примере показано создание объекта basic_ofstream и запись в него текста.
// basic_ofstream_class.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
ofstream ofs("ofstream.txt");
if (!ofs.bad())
{
ofs << "Writing to a basic_ofstream object..." << endl;
ofs.close();
}
}
Конструкторы
| Конструктор | Description |
|---|---|
basic_ofstream |
Создает объект типа basic_ofstream. |
Функции элементов
| Функция-член | Description |
|---|---|
close |
Закрывает файл. |
is_open |
Определяет, открыт ли файл. |
open |
Открывает файл. |
rdbuf |
Возвращает адрес сохраненного буфера потока. |
swap |
Меняет местами содержимое этого объекта basic_ofstream с содержимым указанного объекта basic_ofstream. |
Операторы
| Operator | Description |
|---|---|
operator= |
Назначает содержимое этого объекта потока. Это назначение перемещения, rvalue reference которое не оставляет копию позади. |
Требования
Заголовок: <fstream>
Пространство имен: std
basic_ofstream::basic_ofstream
Создает объект типа basic_ofstream.
basic_ofstream();
explicit basic_ofstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
explicit basic_ofstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
basic_ofstream(
basic_ofstream&& right);
Параметры
_Filename
Имя файла, который необходимо открыть.
_Mode
Одно из перечислений в ios_base::openmode.
_Prot
Защита от открытия файла по умолчанию, эквивалентная параметру shflag в_fsopen , _wfsopen.
right
Ссылка rvalue на объект basic_ofstream, используемый для инициализации этого объекта basic_ofstream.
Замечания
Первый конструктор инициализирует базовый класс путем вызова basic_ostream(sb), где sb хранится объект класса basic_filebuf< Elem, Tr>. Он также инициализируется sb путем вызова .>Trbasic_filebuf<Elem
Второй и третий конструкторы инициализировать базовый класс путем вызова basic_ostream( sb). Он также инициализируется sb путем вызова<Elembasic_filebuf, Tr> а затем .sb.open( _Filename, _Mode | ios_base::out) Если последняя функция возвращает NULL указатель, конструктор вызывает setstate(failbit).
Четвертый конструктор является функцией копирования. Он инициализирует объект с содержимым right, что рассматривается как ссылка rvalue.
Дополнительные сведения см. в статьях basic_ostream, open и setstate.
Пример
В следующем примере показано создание объекта basic_ofstream и запись в него текста.
// basic_ofstream_ctor.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
ofstream ofs("C:\\ofstream.txt");
if (!ofs.bad())
{
ofs << "Writing to a basic_ofstream object..." << endl;
ofs.close();
}
}
basic_ofstream::close
Закрывает файл.
void close();
Замечания
Вызовы rdbuf->closeфункции-члены. Дополнительные сведения см. в разделах rdbuf и close.
Пример
Пример basic_filebuf::close использования close.
basic_ofstream::is_open
Указывает, открыт ли файл.
bool is_open() const;
Возвращаемое значение
Значение true, если файл открыт; в противном случае — значение false.
Замечания
Функция-член возвращает значение rdbuf->is_open. Дополнительные сведения см. в разделах rdbuf и is_open.
Пример
// basic_ofstream_is_open.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
int main( )
{
using namespace std;
ifstream file;
// Open and close with a basic_filebuf
file.rdbuf( )->open( "basic_ofstream_is_open.txt", ios::in );
file.close( );
if (file.is_open())
cout << "it's open" << endl;
else
cout << "it's closed" << endl;
}
basic_ofstream::open
Открывает файл.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
void open(
const char* _Filename,
ios_base::openmode _Mode);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode);
Параметры
_Filename
Имя файла, который необходимо открыть.
_Mode
Одно из перечислений в ios_base::openmode.
_Prot
Защита от открытия файла по умолчанию, эквивалентная параметру shflag в_fsopen , _wfsopen.
Замечания
Вызовы rdbuf -> open(_ Filename, _Mode | ios_base::out)функции-члены. Если эта функция возвращает NULL указатель, функция вызывается setstate(failbit).
Дополнительные сведения см. в статьях rdbuf, open и setstate.
Пример
Пример basic_filebuf::open использования open.
basic_ofstream::operator=
Назначает содержимое этого объекта потока. Это назначение перемещения, rvalue reference которое не оставляет копию позади.
basic_ofstream& operator=(basic_ofstream&& right);
Параметры
right
Ссылка rvalue на объект basic_ofstream.
Возвращаемое значение
Возвращает *this.
Замечания
Оператор-член заменяет содержимое объекта при помощи содержимого right, которое обрабатывается как ссылка rvalue.
basic_ofstream::rdbuf
Возвращает адрес сохраненного буфера потока.
basic_filebuf<Elem, Tr> *rdbuf() const
Возвращаемое значение
Возвращает адрес сохраненного буфера потока.
Пример
Пример basic_filebuf::close использования rdbuf.
basic_ofstream::swap
Меняет местами содержимое двух объектов basic_ofstream.
void swap(basic_ofstream& right);
Параметры
right
Ссылка lvalue на другой объект basic_ofstream.
Замечания
Функция-член меняет местами содержимое этого объекта для содержимого right.
См. также
basic_ostream Класс
Потокобезопасность в стандартной библиотеке C++
iostream Программирование
iostreams Конвенций