Freigeben über


basic_fstream-Klasse

Beschreibt ein Objekt, das das Einfügen und Extrahieren von Elementen und codierten Objekten mithilfe eines Datenstrompuffers der Klasse basic_filebuf<Elem, mit Elementen vom Typ Trsteuert, >Elemderen 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
schließen Schließt eine Datei.
is_open Ermittelt, ob eine Datei geöffnet ist.
offen Öffnet eine Datei.
rdbuf Gibt die Adresse des gespeicherten Datenstrompuffers vom Typ Zeiger auf basic_filebuf<Elem zurück. Tr>
tauschen Tauscht den Inhalt dieses Objekts gegen den Inhalt eines anderen basic_fstream-Objekts.

Anforderungen

Kopfball:<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.

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

Beispiel

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

basic_fstream::close

Schließt eine Datei.

void close();

Hinweise

Die Memberfunktion ruft rdbuf> auf.

Beispiel

Sie finden ein Beispiel zur Verwendung von unter 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 unter 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 Nullzeiger 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

Rechts
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 unter rdbuf.

basic_fstream::swap

Tauscht den Inhalt von zwei basic_fstream-Objekten aus.

void swap(basic_fstream& right);

Parameter

Rechts
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