Dela via


basic_fstream-klass

Beskriver ett objekt som styr infogning och extrahering av element och kodade objekt med hjälp av en strömbuffert av klass basic_filebuf<Elem, , Tr>med element av typen Elem, vars karaktärsdrag bestäms av klassen Tr.

Syntax

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

Parameterar

Elem
Det grundläggande elementet i filbufferten.

Tr
Egenskaperna hos det grundläggande elementet i filbufferten (vanligtvis char_traits<Elem>).

Anmärkningar

Objektet lagrar ett objekt av klassen basic_filebuf<Elem, . Tr>

Anmärkning

Hämta pekaren och placera pekaren för ett fstream-objekt är INTE oberoende av varandra. Om hämtar pekaren flyttas, så gör även put-pekaren.

Exempel

I följande exempel visas hur du skapar ett basic_fstream objekt som kan läsas från och skrivas till.

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

Konstruktörer

Konstruktor Beskrivning
basic_fstream Konstruerar ett objekt av typen basic_fstream.

Medlemsfunktioner

Medlemsfunktion Beskrivning
stäng Stänger en fil.
is_open Avgör om en fil är öppen.
öppna Öppnar en fil.
rdbuf Returnerar adressen till den lagrade dataströmbufferten, av typen pekare till basic_filebuf<Elem, Tr>.
växla Utbyter innehållet i det här objektet med innehållet i ett annat basic_fstream objekt.

Kravspecifikation

Rubrik:<fstream>

namnområde: std

basic_fstream::basic_fstream

Konstruerar ett objekt av typen 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);

Parameterar

_Filnamn
Namnet på filen som ska öppnas.

_Läge
En av uppräkningarna i ios_base::openmode.

_Prot
Standardskyddet för filöppning, som motsvarar parametern shflag i _fsopen, _wfsopen.

Anmärkningar

Den första konstruktorn initierar basklassen genom att anropa basic_iostream(sb), där sb är det lagrade objektet för klassen basic_filebuf<Elem, Tr>. Det initieras sb också genom att anropa basic_filebuf<Elem, Tr>.

Den andra och tredje konstruktorn initierar basklassen genom att anropa basic_iostream( sb). Den initieras sb också genom att anropa basic_filebuf<Elem, Tr> och sedan sb.open(_ Filename, _Mode). Om den senare funktionen returnerar en null-pekare anropar konstruktorn setstate(failbit).

Den fjärde konstruktorn initierar objektet med innehållet i right, som behandlas som en rvalue-referens.

Exempel

Se streampos för ett exempel som använder basic_fstream.

basic_fstream::close

Stänger en fil.

void close();

Anmärkningar

Medlemsfunktionen anropar rdbuf-close>.

Exempel

Se basic_filebuf::close för ett exempel på hur du använder close.

basic_fstream::is_open

Avgör om en fil är öppen.

bool is_open() const;

Returvärde

true om filen är öppen, false annars.

Anmärkningar

Medlemsfunktionen returnerar rdbuf-is_open>.

Exempel

Se basic_filebuf::is_open för ett exempel på hur du använder is_open.

basic_fstream::open

Öppnar en fil.

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

Parameterar

_Filnamn
Namnet på filen som ska öppnas.

_Läge
En av uppräkningarna i ios_base::openmode.

_Prot
Standardskyddet för filöppning, som motsvarar parametern shflag i _fsopen, _wfsopen.

Anmärkningar

Medlemsfunktionen anropar rdbuf-open>(_ Filename, _Mode). Om funktionen returnerar en null-pekare anropar funktionen setstate(failbit).

Exempel

Se basic_filebuf::open för ett exempel på hur du använder open.

basic_fstream::operator=

Tilldelar det här objektet innehållet från ett angivet dataströmobjekt. Det här är en flytttilldelning som omfattar en rvalue som inte lämnar en kopia kvar.

basic_fstream& operator=(basic_fstream&& right);

Parameterar

rätt
En lvalue-referens till ett basic_fstream objekt.

Returvärde

Returnerar *this.

Anmärkningar

Medlemsoperatorn ersätter innehållet i objektet med hjälp av innehållet i rättigheten, som behandlas som en rvalue-referens.

basic_fstream::rdbuf

Returnerar adressen till den lagrade dataströmbufferten, av typen pekare till basic_filebuf<Elem, Tr>.

basic_filebuf<Elem, Tr> *rdbuf() const

Returvärde

Adressen till den lagrade dataströmbufferten.

Exempel

Se basic_filebuf::close för ett exempel på hur du använder rdbuf.

basic_fstream::swap

Utbyter innehållet i två basic_fstream objekt.

void swap(basic_fstream& right);

Parameterar

rätt
En lvalue referens till ett basic_fstream objekt.

Anmärkningar

Medlemsfunktionen utbyter innehållet i det här objektet och innehållet i rättigheten.

Se även

Trådsäkerhet i C++ Standard Library
iostream-programmering
iostreams-konventioner