basic_ifstream Třída

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

Další informace najdete na webu basic_filebuf.

Syntaxe

template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<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_traits<Elem>).

Poznámky

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

Příklad

Následující příklad ukazuje, jak číst text ze souboru.

// basic_ifstream_class.cpp
// compile with: /EHsc

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    ifstream ifs("basic_ifstream_class.txt");
    if (!ifs.bad())
    {
        // Dump the contents of the file to cout.
        cout << ifs.rdbuf();
        ifs.close();
    }
}

Vstup: basic_ifstream_class.txt

This is the contents of basic_ifstream_class.txt.

Výstup

This is the contents of basic_ifstream_class.txt.

Konstruktory

Konstruktor Popis
basic_ifstream Inicializuje novou instanci objektu basic_ifstream .

Č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.
swap Vymění obsah tohoto basic_ifstream obsahu pro poskytnutý basic_ifstreamobsah .

Operátory

Operátor Popis
operator= Přiřadí obsah tohoto objektu datového proudu. Jedná se o přiřazení přesunutí, které nezanechá rvalue kopii.

Požadavky

Záhlaví: <fstream>

Obor názvů: std

basic_ifstream::basic_ifstream

Vytvoří objekt typu basic_ifstream.

basic_ifstream();

explicit basic_ifstream(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in,
    int _Prot = (int)ios_base::_Openprot);

explicit basic_ifstream(
    const wchar_t* _Filename,
    ios_base::openmode _Mode = ios_base::in,
    int _Prot = (int)ios_base::_Openprot);

basic_ifstream(basic_ifstream&& right);

Parametry

_Filename
Název souboru, který se má otevřít.

_Mode
Jeden z výčtů v ios_base::openmode.

_Prot
Výchozí ochrana při otevírání souboru, která odpovídá parametru shflag v _fsopen, _wfsopen.

Poznámky

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

Druhý a třetí konstruktory inicializují základní třídu voláním basic_istream(sb). Inicializuje sb se také voláním basic_filebuf<Elem, Tr>, pak sb.open(_Filename, _Mode | ios_base::in). Pokud druhá funkce vrátí ukazatel null, konstruktor volá setstate(failbit).

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

Další informace naleznete v tématu basic_istream, basic_filebuf, setstatea open.

Příklad

Následující příklad ukazuje, jak číst text ze souboru. Pokud chcete vytvořit soubor, podívejte se na příklad basic_ofstream::basic_ofstream.

// basic_ifstream_ctor.cpp
// compile with: /EHsc

#include <fstream>
#include <iostream>

using namespace std;

int main(int argc, char **argv)
{
    ifstream ifs("basic_ifstream_ctor.txt");
    if (!ifs.bad())
    {
        // Dump the contents of the file to cout.
        cout << ifs.rdbuf();
        ifs.close();
    }
}

basic_ifstream::close

Zavře soubor.

void close();

Poznámky

Členské funkce volá rdbuf -> close.

Příklad

Podívejte basic_filebuf::close se na příklad, který používá close.

basic_ifstream::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 hodnotu -> is_open.

Příklad

Podívejte basic_filebuf::is_open se na příklad, který používá is_open.

basic_ifstream::open

Otevře soubor.

void open(
    const char* _Filename,
    ios_base::openmode _Mode = ios_base::in,
    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,
    int _Prot = (int)ios_base::_Openprot);

void open(
    const wchar_t* _Filename,
    ios_base::openmode _Mode);

Parametry

_Filename
Název souboru, který se má otevřít.

_Mode
Jeden z výčtů v ios_base::openmode.

_Prot
Výchozí ochrana při otevírání souboru, která odpovídá parametru shflag v _fsopen, _wfsopen.

Poznámky

Členské funkce volá rdbuf->open(_Filename, _Mode | ios_base::in). Další informace najdete v tématech rdbuf a basic_filebuf::open. Pokud se otevření nezdaří, funkce zavolá setstate(failbit), což může vyvolat ios_base::failure výjimku. Další informace najdete na webu setstate.

Příklad

Podívejte basic_filebuf::open se na příklad, který používá open.

basic_ifstream::operator=

Přiřadí obsah tohoto objektu datového proudu. Jedná se o přiřazení přesunutí, které nezanechá rvalue kopii.

basic_ifstream& operator=(basic_ifstream&& right);

Parametry

right
Odkaz rvalue na basic_ifstream objekt.

Návratová hodnota

Vrací objekt *this.

Poznámky

Operátor člena nahrazuje obsah objektu pomocí obsahu right, považován za rvalue odkaz. Další informace najdete v tématech Lvalues a Rvalues.

basic_ifstream::rdbuf

Vrátí adresu uložené vyrovnávací paměti datového proudu.

basic_filebuf<Elem, Tr> *rdbuf() const

Návratová hodnota

Ukazatel na basic_filebuf objekt představující uloženou vyrovnávací paměť datového proudu.

Příklad

Podívejte basic_filebuf::close se na příklad, který používá rdbuf.

basic_ifstream::swap

Vymění obsah dvou basic_ifstream objektů.

void swap(basic_ifstream& right);

Parametry

right
Odkaz na jinou vyrovnávací paměť datového proudu.

Poznámky

Členová funkce vyměňuje obsah tohoto objektu pro obsah .right

Viz také

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