Sdílet prostřednictvím


basic_fstream – třída

Popisuje objekt, který řídí vkládání a extrakci prvků a kódovaných objektů pomocí vyrovnávací paměti datového proudu třídy basic_filebuf<Elem ,>Tr s prvky typu Elem, jejichž znakové vlastnosti jsou určeny třídou .Tr

Syntaxe

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

Parametry

Elem
Základní prvek vyrovnávací paměti souboru.

Tr
Vlastnosti základního prvku vyrovnávací paměti souboru (obvykle char_traitsElem<>).

Poznámky

Objekt ukládá objekt třídy basic_filebuf<Elem, . Tr>

Poznámka:

Get pointer and put pointer of an fstream object are NOT independent of each other. Pokud se ukazatel get přesune, provede to ukazatel vložení.

Příklad

Následující příklad ukazuje, jak vytvořit basic_fstream objekt, který lze číst a zapisovat do.

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

Konstruktory

Konstruktor Popis
basic_fstream Vytvoří objekt typu basic_fstream.

Členské funkce

Členová funkce Popis
close Zavře soubor.
is_open Určuje, zda je soubor otevřen.
open Otevře soubor.
Rdbuf Vrátí adresu uložené vyrovnávací paměti datového proudu, ukazatele typu basic_filebufElem<, . Tr>
vyměnit Vymění obsah tohoto objektu s obsahem jiného basic_fstream objektu.

Požadavky

Header:<fstream>

Obor názvů: std

basic_fstream::basic_fstream

Vytvoří objekt typu 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);

Parametry

_Jméno souboru
Název souboru, který se má otevřít.

_Režim
Jeden z výčtů v ios_base::openmode.

_Prot
Výchozí ochrana pro otevření souboru, která odpovídá parametru shflag v _fsopen, _wfsopen.

Poznámky

První konstruktor inicializuje základní třídu voláním basic_iostream(), kde sb je uložený objekt třídy basic_filebuf<Elem, Tr>.sb Inicializuje sb se také voláním basic_filebuf<Elem, Tr.>

Druhý a třetí konstruktory inicializuje základní třídu voláním basic_iostream( sb). Inicializuje sb se také voláním<basic_filebuf Elem, Tr> a pak sb.open(_ Název souboru, _Mode). Pokud druhá funkce vrátí ukazatel null, konstruktor volá setstate(failbit).

Čtvrtý konstruktor inicializuje objekt s obsahem right, považován za rvalue odkaz.

Příklad

Podívejte se na streampos pro příklad, který používá basic_fstream.

basic_fstream::close

Zavře soubor.

void close();

Poznámky

Členová funkce volá rdbuf-> close.

Příklad

Příklad použití closenajdete v tématu basic_filebuf::close.

basic_fstream::is_open

Určuje, zda je soubor otevřen.

bool is_open() const;

Návratová hodnota

true pokud je soubor otevřený, false jinak.

Poznámky

Členová funkce vrátí rdbuf-is_open>.

Příklad

Příklad použití is_opennajdete v tématu basic_filebuf::is_open .

basic_fstream::open

Otevře soubor.

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

Parametry

_Jméno souboru
Název souboru, který se má otevřít.

_Režim
Jeden z výčtů v ios_base::openmode.

_Prot
Výchozí ochrana pro otevření souboru, která odpovídá parametru shflag v _fsopen, _wfsopen.

Poznámky

Členová funkce volá rdbuf -> open(_ Filename, _Mode). Pokud tato funkce vrátí ukazatel null, funkce volá setstate( failbit).

Příklad

Příklad použití opennajdete v tématu basic_filebuf::open.

basic_fstream::operator=

Přiřadí tomuto objektu obsah ze zadaného objektu datového proudu. Jedná se o přiřazení přesunutí, které zahrnuje hodnotu rvalue, která nenechá kopii za sebou.

basic_fstream& operator=(basic_fstream&& right);

Parametry

Vpravo
Lvalue odkaz na basic_fstream objekt.

Návratová hodnota

Vrací objekt *this.

Poznámky

Operátor člena nahrazuje obsah objektu použitím obsahu práva, považován za odkaz rvalue.

basic_fstream::rdbuf

Vrátí adresu uložené vyrovnávací paměti datového proudu ukazatele typu basic_filebuf <Elem, Tr.>

basic_filebuf<Elem, Tr> *rdbuf() const

Návratová hodnota

Adresa uložené vyrovnávací paměti datového proudu.

Příklad

Příklad použití rdbufnajdete v tématu basic_filebuf::close.

basic_fstream::swap

Vymění obsah dvou basic_fstream objektů.

void swap(basic_fstream& right);

Parametry

Vpravo
Odkaz lvalue na basic_fstream objekt.

Poznámky

Členová funkce vyměňuje obsah tohoto objektu a obsah práva.

Viz také

Bezpečný přístup z více vláken ve standardní knihovně C++
iostream – programování
iostreams – konvence