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_ifstream obsah . |
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
, setstate
a 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