Teilen über


basic_fstream-Klasse

Beschreibt ein Objekt, das das Einfügen und Extrahieren von Elementen und codierten Objekten mithilfe eines Datenstrompuffers der Klasse basic_filebufElem<, mit Elementen vom Typ Elemsteuert, Tr>deren Zeicheneigenschaften von der Klasse Trbestimmt werden.

Syntax

template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<Elem, Tr>

Parameter

Elem
Das grundlegende Element des Dateipuffers.

Tr
Die Eigenschaften des grundlegenden Elements des Dateipuffers (in der Regel char_traits<Elem>).

Hinweise

Das Objekt speichert ein Objekt der Klasse basic_filebuf<Elem, Tr>.

Hinweis

Der Lesezeiger (get-Zeiger) und der Schreibzeiger (put-Zeiger) eines fstream-Objekts sind NICHT unabhängig voneinander. Wenn der get-Zeiger verschoben wird, wird auch der put-Zeiger verschoben.

Beispiel

Das folgende Beispiel veranschaulicht, wie ein basic_fstream-Objekt erstellt wird, aus dem gelesen und in das geschrieben werden kann.

// 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...

Konstruktoren

Konstruktor Beschreibung
basic_fstream Konstruiert ein Objekt vom Typ basic_fstream.

Memberfunktionen

Memberfunktion Beschreibung
close Schließt eine Datei.
is_open Ermittelt, ob eine Datei geöffnet ist.
open Öffnet eine Datei.
rdbuf Gibt die Adresse des gespeicherten Datenstrompuffers vom Typ Zeiger auf basic_filebufElem< zurück. Tr>
swap Tauscht den Inhalt dieses Objekts gegen den Inhalt eines anderen basic_fstream-Objekts.

Anforderungen

Header:<fstream>

Namespace: std

basic_fstream::basic_fstream

Konstruiert ein Objekt vom Typ 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);

Parameter

_Dateiname
Der Name der zu öffnenden Datei.

_Modus
Eine der Enumerationen in ios_base::openmode.

_Prot
Der Standardmäßige Dateiöffnungsschutz, der dem Shflag-Parameter in _fsopen entspricht, _wfsopen.

Hinweise

Der erste Konstruktor initialisiert die Basisklasse durch Aufrufen von basic_iostream(sb), wobei sb das gespeicherte Objekt der Klasse basic_filebuf<Elem, Tr.> Sie initialisiert sb auch durch Aufrufen von basic_filebuf<Elem, Tr>.

Der zweite und dritte Konstruktor initialisiert die Basisklasse durch Aufrufen von basic_iostream( sb). Sie initialisiert sb auch durch Aufrufen basic_filebuf<von Elem, Tr> und dann sb.open(_ Filename, _Mode). Wenn die letztere Funktion einen NULL-Zeiger zurückgibt, ruft der Konstruktor setstate(failbit) auf.

Der vierte Konstruktor initialisiert das Objekt mit dem Inhalt von right, das als rvalue-Verweis behandelt wird.

Beispiel

Ein Beispiel, in dem basic_fstream verwendet wird, finden Sie unter streampos.

basic_fstream::close

Schließt eine Datei.

void close();

Hinweise

Die Memberfunktion ruft rdbuf-> close auf.

Beispiel

Sie finden ein Beispiel zur Verwendung von close unter basic_filebuf::close.

basic_fstream::is_open

Ermittelt, ob eine Datei geöffnet ist.

bool is_open() const;

Rückgabewert

true, wenn die Datei geöffnet ist, andernfalls false.

Hinweise

Die Memberfunktion gibt rdbuf-is_open> zurück.

Beispiel

Sie finden ein Beispiel zur Verwendung von is_open unter basic_filebuf::is_open.

basic_fstream::open

Öffnet eine Datei.

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);

Parameter

_Dateiname
Der Name der zu öffnenden Datei.

_Modus
Eine der Enumerationen in ios_base::openmode.

_Prot
Der Standardmäßige Dateiöffnungsschutz, der dem Shflag-Parameter in _fsopen entspricht, _wfsopen.

Hinweise

Die Memberfunktion ruft rdbuf -> open(_ Filename, _Mode). Wenn diese Funktion einen NULL-Zeiger zurückgibt, ruft die Funktion setstate( failbit) auf.

Beispiel

Ein Beispiel für die Verwendung finden Sie unter basic_filebuf::open.open

basic_fstream::operator=

Weist diesem Objekt den Inhalt eines angegebenen Streamobjekts zu. Dies ist eine Verschiebezuweisung mit einem rvalue, der keine Kopie hinterlässt.

basic_fstream& operator=(basic_fstream&& right);

Parameter

right
Ein lvalue-Verweis auf ein basic_fstream-Objekt.

Rückgabewert

Gibt *this zurück.

Hinweise

Der Memberoperator ersetzt den Inhalt des Objekts durch die Verwendung des Rechtsinhalts, der als Rvalue-Verweis behandelt wird.

basic_fstream::rdbuf

Gibt die Adresse des gespeicherten Datenstrompuffers vom Typ Zeiger auf basic_filebuf<Elem, Tr> zurück.

basic_filebuf<Elem, Tr> *rdbuf() const

Rückgabewert

Die Adresse des gespeicherten Streampuffers.

Beispiel

Sie finden ein Beispiel zur Verwendung von rdbuf unter basic_filebuf::close.

basic_fstream::swap

Tauscht den Inhalt von zwei basic_fstream-Objekten aus.

void swap(basic_fstream& right);

Parameter

right
Ein lvalue-Verweis auf ein basic_fstream-Objekt.

Hinweise

Die Mitgliedsfunktion tauscht den Inhalt dieses Objekts und den Inhalt des Rechts aus.

Siehe auch

Threadsicherheit in der C++-Standardbibliothek
iostream-Programmierung
iostreams-Konventionen