Megosztás:


basic_fstream osztály

Olyan objektumot ír le, amely az basic_filebuf osztály<Elem streampufferével szabályozza az elemek és kódolt objektumok beszúrását és kinyerést, Tr>olyan típusú Elemelemekkel, amelyek karaktertulajdonságait az osztály Trhatározza meg.

Szemantika

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

Paraméterek

Elem
A fájlpuffer alapeleme.

Tr
A fájlpuffer alapelemének jellemzői (általábanchar_traits<Elem>).

Megjegyzések

Az objektum egy osztályobjektumot basic_filebuf<Elemtárol . Tr>

Megjegyzés:

A fstream objektum lekérési mutatója és mutatója NEM független egymástól. Ha a lekérés mutatója mozog, akkor a mutató is elmozdul.

példa

Az alábbi példa bemutatja, hogyan hozhat létre olyan basic_fstream objektumot, amelyből beolvasható és beírható.

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

Konstruktorok

Konstruktor Leírás
basic_fstream Egy típusú basic_fstreamobjektumot hoz létre.

Tagfüggvények

Tagfüggvény Leírás
bezárása Fájl bezárása.
is_open Meghatározza, hogy egy fájl meg van-e nyitva.
nyisd meg Megnyitja a fájlt.
rdbuf A tárolt streampuffer címét adja vissza, amely a basic_filebuf<Elem, Tr>.
felcserélési Az objektum tartalmának cseréje egy másik basic_fstream objektum tartalmával.

Követelmények

Fejléc:<fstream>

Névtér: std

basic_fstream::basic_fstream

Egy típusú basic_fstreamobjektumot hoz létre.

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

Paraméterek

_Fájlnév
A megnyitni kívánt fájl neve.

_Üzemmód
Az ios_base::openmode enumerációinak egyike.

_Prot
Az alapértelmezett fájlmegnyitási védelem, amely egyenértékű a _fsopen shflag paraméterével , _wfsopen.

Megjegyzések

Az első konstruktor inicializálja az alaposztályt a basic_iostream(sb) meghívásával, ahol sb a basic_filebuf<Elem, Tr> osztály tárolt objektuma található. Inicializálja sb az basic_filebuf, < meghívását > is.

A második és a harmadik konstruktor inicializálja az alaposztályt az (basic_iostream) hívásával. Inicializálja sbbasic_filebuf< az Elem, Tr>, majd sb.open(_ Filename, _Mode). Ha az utóbbi függvény null mutatót ad vissza, a konstruktor meghívja a setstate()failbit függvényt.

A negyedik konstruktor inicializálja az objektumot a rvalue-referenciaként kezelt tartalommal right.

példa

Tekintse meg a streamposokat egy példát, amely a következőt használja basic_fstream: .

basic_fstream::close

Fájl bezárása.

void close();

Megjegyzések

A tagfüggvény rdbuf-closemeghívást> ad.

példa

A basic_filebuf::close című témakörben talál egy példát a használat closemódjára.

basic_fstream::is_open

Meghatározza, hogy egy fájl meg van-e nyitva.

bool is_open() const;

Visszaadott érték

true ha a fájl meg van nyitva, false ellenkező esetben.

Megjegyzések

A tagfüggvény rdbuf-is_open> ad vissza.

példa

A basic_filebuf ::is_open című cikkben talál egy példát a használat is_openmódjára.

basic_fstream::megnyitás

Megnyitja a fájlt.

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

Paraméterek

_Fájlnév
A megnyitni kívánt fájl neve.

_Üzemmód
Az ios_base::openmode enumerációinak egyike.

_Prot
Az alapértelmezett fájlmegnyitási védelem, amely egyenértékű a _fsopen shflag paraméterével , _wfsopen.

Megjegyzések

A tagfüggvény meghívja az rdbuf-open>(_ Filename, _Mode). Ha a függvény null mutatót ad vissza, a függvény meghívja a setstate()failbit függvényt.

példa

Lásd a basic_filebuf::megnyitás példát a használatra open.

basic_fstream::operátor=

Hozzárendeli ehhez az objektumhoz egy adott streamobjektum tartalmát. Ez egy áthelyezési hozzárendelés, amely olyan rvalue-t tartalmaz, amely nem hagy hátra egy másolatot.

basic_fstream& operator=(basic_fstream&& right);

Paraméterek

jobb
Egy objektumra mutató lvalue-hivatkozás basic_fstream .

Visszaadott érték

Visszatér *this.

Megjegyzések

A tag operátor a jobb oldali tartalommal helyettesíti az objektum tartalmát, amelyet értékhivatkozásként kezelnek.

basic_fstream::rdbuf

A tárolt streampuffer címét adja vissza, amely a basic_filebuf<Elem, Tr> típusú mutatót adja vissza.

basic_filebuf<Elem, Tr> *rdbuf() const

Visszaadott érték

A tárolt streampuffer címe.

példa

A basic_filebuf::close című témakörben talál egy példát a használat rdbufmódjára.

basic_fstream::swap

Két basic_fstream objektum tartalmát cseréli le.

void swap(basic_fstream& right);

Paraméterek

jobb
Egy lvalue objektumra mutató basic_fstream hivatkozás.

Megjegyzések

A tagfüggvény kicseréli az objektum tartalmát és a jog tartalmát.

Lásd még

Szálbiztonság a C++ Standard könyvtárban
iostream programozás
iostreams-egyezmények