std::basic_fstream<CharT,Traits>:: basic_fstream
|
basic_fstream
(
)
;
|
(1) | |
|
explicit
basic_fstream
(
const
char
*
filename,
std::
ios_base
::
openmode
mode
|
(2) | |
|
explicit
basic_fstream
(
const
std
::
filesystem
::
path
::
value_type
*
filename,
std::
ios_base
::
openmode
mode
|
(3) | (начиная с C++17) |
|
explicit
basic_fstream
(
const
std::
string
&
filename,
std::
ios_base
::
openmode
mode
|
(4) | (начиная с C++11) |
|
template
<
class
FsPath
>
explicit
basic_fstream
(
const
FsPath
&
filename,
|
(5) | (начиная с C++17) |
|
basic_fstream
(
basic_fstream
&&
other
)
;
|
(6) | (начиная с C++11) |
|
basic_fstream
(
const
basic_fstream
&
rhs
)
=
delete
;
|
(7) | (начиная с C++11) |
Создает новый файловый поток.
open()
возвращает нулевой указатель, устанавливает
setstate
(
failbit
)
.
Перегрузка
(3)
предоставляется только если
std
::
filesystem
::
path
::
value_type
не является
char
.
(начиная с C++17)
FsPath
является
std::filesystem::path
.
(since C++17)
rdbuf()
), затем перемещающе конструирует член
std::basic_filebuf
, затем вызывает
this
-
>
set_rdbuf
(
)
чтобы установить новый
basic_filebuf
в качестве указателя
rdbuf()
в базовом классе.
Содержание |
Параметры
| filename | - | имя файла для открытия | ||||||||||||||||
| mode | - |
определяет режим открытия потока. Могут использоваться следующие константы и их побитовое ИЛИ:
|
||||||||||||||||
| other | - | другой файловый поток для использования в качестве источника |
Пример
#include <fstream> #include <string> #include <utility> int main() { std::fstream f0; std::fstream f1("test.bin", std::ios::binary); std::string name = "example.txt"; std::fstream f2(name); std::fstream f3(std::move(f1)); }
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 460 | C++98 |
аргумент по умолчанию для
mode
в перегрузке
(2)
отсутствовал (присутствует в синопсисе ) |
добавлен |
| LWG 3430 | C++17 | std::filesystem::path перегрузка приводила к нежелательным преобразованиям | устранено путём преобразования в шаблон |
Смотрите также
|
открывает файл и связывает его с потоком
(публичная функция-член) |
|
|
открывает файл и настраивает его как связанную символьную последовательность
(публичная функция-член
std::basic_filebuf<CharT,Traits>
)
|
|
заменяет
rdbuf
без очистки его состояния ошибки
(защищённая функция-член) |
|
|
конструирует объект
(публичная функция-член
std::basic_iostream<CharT,Traits>
)
|