Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Описывает объект, который управляет вставкой и извлечением элементов и закодированных объектов с помощью буфера потока класса ,<Elem с элементами типаTr, признаки символов которых определяются классом.>
Синтаксис
template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<Elem, Tr>
Параметры
Элем
Базовый элемент буфера файла.
Tr
Признаки базового элемента буфера файла (обычноchar_traits<Elem>).
Замечания
Объект хранит объект класса basic_filebuf<Elem, . Tr>
Примечание.
Указатель get и указатель put объекта fstream ЗАВИСЯТ друг от друга. При перемещении указателя get указатель put также перемещается.
Пример
В следующем примере показано, как создать объект basic_fstream, из которого можно считать данные и в который можно записать данные.
// basic_fstream_class.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
fstream fs("fstream.txt", ios::in | ios::out | ios::trunc);
if (!fs.bad())
{
// Write to the file.
fs << "Writing to a basic_fstream object..." << endl;
fs.close();
// Dump the contents of the file to cout.
fs.open("fstream.txt", ios::in);
cout << fs.rdbuf();
fs.close();
}
}
Writing to a basic_fstream object...
Конструкторы
| Конструктор | Описание |
|---|---|
| basic_fstream | Создает объект типа basic_fstream. |
Функции элементов
| Функция-член | Описание |
|---|---|
| закрыть | Закрывает файл. |
| is_open | Определяет, открыт ли файл. |
| открытый | Открывает файл. |
| rdbuf | Возвращает адрес буфера хранимого потока, указателя типа на basic_filebuf<Elem, . Tr> |
| обменивать | Меняет местами содержимое данного объекта с содержимым другого объекта basic_fstream. |
Требования
Заголовок:<fstream>
Пространство имен: std
basic_fstream::basic_fstream
Создает объект типа basic_fstream.
basic_fstream();
explicit basic_fstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
explicit basic_fstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
basic_fstream(basic_fstream&& right);
Параметры
_Имя файла
Имя файла, который необходимо открыть.
_Режим
Одно из перечислений в ios_base::openmode.
_Прот
Защита от открытия файла по умолчанию, эквивалентная параметру shflag в _fsopen, _wfsopen.
Замечания
Первый конструктор инициализирует базовый класс путем вызова basic_iostream(), где sb хранится объект класса basic_filebufsb< Elem, Tr.> Он также инициализируется sb путем вызова basic_filebuf<Elem, Tr.>
Второй и третий конструкторы инициализируют базовый класс путем вызова basic_iostream( sb). Он также инициализируется sb путем вызоваbasic_filebuf< Elem, Tr>, а затем sb.open(_ Filename, _Mode). Если последняя функция возвращает указатель null, конструктор вызывает setstate(failbit).
Четвертый конструктор инициализирует объект с содержимым right, что рассматривается как ссылка rvalue.
Пример
Пример использования см. в разделе basic_fstream.
basic_fstream::close
Закрывает файл.
void close();
Замечания
Пример
Пример использования см. в разделе close.
basic_fstream::is_open
Определяет, открыт ли файл.
bool is_open() const;
Возвращаемое значение
Значение true, если файл открыт; в противном случае — значение false.
Замечания
Пример
Пример использования см. в разделе is_open.
basic_fstream::open
Открывает файл.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in | 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::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
void open(
const wchar_t* _Filename,
ios_base::openmode _Mode);
Параметры
_Имя файла
Имя файла, который необходимо открыть.
_Режим
Одно из перечислений в ios_base::openmode.
_Прот
Защита от открытия файла по умолчанию, эквивалентная параметру shflag в _fsopen, _wfsopen.
Замечания
Функция-член вызывает rdbuf->open(_ Filename, _Mode). Если эта функция возвращает указатель null, функция вызывает setstate(failbit).
Пример
basic_fstream::operator=
Назначает этому объекту содержимое из указанного объекта потока. Это назначение перемещения с использованием rvalue, после которого не остается копии.
basic_fstream& operator=(basic_fstream&& right);
Параметры
правой
Ссылка lvalue на объект basic_fstream.
Возвращаемое значение
Возвращает *this.
Замечания
Оператор-член заменяет содержимое объекта с помощью содержимого правого значения, который рассматривается как ссылка rvalue.
basic_fstream::rdbuf
Возвращает адрес сохраненного буфера потока, указателя типа на basic_filebuf<Elem, Tr.>
basic_filebuf<Elem, Tr> *rdbuf() const
Возвращаемое значение
Адрес сохраненного буфера потока.
Пример
Пример использования см. в разделе rdbuf.
basic_fstream::swap
Меняет местами содержимое двух объектов basic_fstream.
void swap(basic_fstream& right);
Параметры
правой
Ссылка lvalue на объект basic_fstream.
Замечания
Функция-член обменивается содержимым этого объекта и содержимого права.
См. также
Потокобезопасность в стандартной библиотеке C++
Программирование iostream
Соглашения iostreams