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) | (seit C++17) |
|
explicit
basic_fstream
(
const
std::
string
&
filename,
std::
ios_base
::
openmode
mode
|
(4) | (seit C++11) |
|
template
<
class
FsPath
>
explicit
basic_fstream
(
const
FsPath
&
filename,
|
(5) | (seit C++17) |
|
basic_fstream
(
basic_fstream
&&
other
)
;
|
(6) | (seit C++11) |
|
basic_fstream
(
const
basic_fstream
&
rhs
)
=
delete
;
|
(7) | (seit C++11) |
Konstruiert neuen Dateistrom.
open()
-Aufruf einen Nullzeiger zurückgibt, wird
setstate
(
failbit
)
gesetzt.
Überladung
(3)
wird nur bereitgestellt, wenn
std
::
filesystem
::
path
::
value_type
nicht
char
ist.
(seit C++17)
FsPath
ein
std::filesystem::path
ist.
(seit C++17)
rdbuf()
-Zeiger nicht beeinflusst), dann wird das
std::basic_filebuf
-Mitglied move-konstruiert, anschließend wird
this
-
>
set_rdbuf
(
)
aufgerufen, um den neuen
basic_filebuf
als
rdbuf()
-Zeiger in der Basisklasse zu installieren.
Inhaltsverzeichnis |
Parameter
| filename | - | der Name der zu öffnenden Datei | ||||||||||||||||
| mode | - |
gibt den Öffnungsmodus des Streams an. Folgende Konstanten und bitweises ODER zwischen ihnen können verwendet werden:
|
||||||||||||||||
| other | - | ein anderer Dateistream, der als Quelle verwendet werden soll |
Beispiel
#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)); }
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 460 | C++98 |
das Standardargument von
mode
in Überladung
(2)
fehlte (es ist in der Synopsis vorhanden) |
hinzugefügt |
| LWG 3430 | C++17 | std::filesystem::path Überladung führte zu unerwünschten Konvertierungen | vermieden durch Template-Implementierung |
Siehe auch
|
öffnet eine Datei und verknüpft sie mit dem Stream
(öffentliche Elementfunktion) |
|
|
öffnet eine Datei und konfiguriert sie als assoziierte Zeichensequenz
(öffentliche Elementfunktion von
std::basic_filebuf<CharT,Traits>
)
|
|
ersetzt den
rdbuf
ohne dessen Fehlerstatus zu löschen
(geschützte Elementfunktion) |
|
|
konstruiert das Objekt
(öffentliche Elementfunktion von
std::basic_iostream<CharT,Traits>
)
|