basic_ifstream
Klasa
Opisuje obiekt, który kontroluje wyodrębnianie elementów i zakodowanych obiektów z buforu strumienia klasy basic_filebuf<Elem, Tr>
, z elementami typu Elem
, których cechy znaków są określane przez klasę Tr
.
Aby uzyskać więcej informacji, zobacz basic_filebuf
.
Składnia
template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<Elem, Tr>
Parametry
Elem
Podstawowy element buforu plików.
Tr
Cechy podstawowego elementu buforu plików (zwykle char_traits<Elem>
).
Uwagi
Obiekt przechowuje obiekt klasy basic_filebuf<Elem, Tr>
.
Przykład
W poniższym przykładzie pokazano, jak odczytywać tekst z pliku.
// 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();
}
}
Wkład: basic_ifstream_class.txt
This is the contents of basic_ifstream_class.txt.
Wyjście
This is the contents of basic_ifstream_class.txt.
Konstruktory
Konstruktor | opis |
---|---|
basic_ifstream |
Inicjuje nowe wystąpienie basic_ifstream obiektu. |
Funkcje składowe
Funkcja składowa | opis |
---|---|
close |
Zamyka plik. |
is_open |
Określa, czy plik jest otwarty. |
open |
Otwiera plik. |
rdbuf |
Zwraca adres przechowywanego buforu strumienia. |
swap |
Wymienia zawartość tego basic_ifstream elementu pod kątem zawartości podanego basic_ifstream elementu . |
Operatory
Operator | opis |
---|---|
operator= |
Przypisuje zawartość tego obiektu strumienia. Jest to przypisanie przenoszenia obejmujące element rvalue , który nie pozostawia kopii. |
Wymagania
Nagłówek: <fstream>
Przestrzeń nazw: std
basic_ifstream::basic_ifstream
Tworzy obiekt 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
Nazwa pliku do otwarcia.
_Mode
Jeden z wyliczeń w pliku ios_base::openmode
.
_Prot
Domyślna ochrona otwierania pliku, równoważna parametrowi shflag
w pliku ,_fsopen
_wfsopen
.
Uwagi
Pierwszy konstruktor inicjuje klasę bazową, wywołując basic_istream(sb)
metodę , gdzie sb
jest przechowywanym obiektem klasy basic_filebuf<Elem, Tr>
. Inicjuje sb
również wywołanie metody basic_filebuf<Elem, Tr>
.
Drugie i trzecie konstruktory inicjują klasę bazową, wywołując metodę basic_istream(sb)
. Inicjuje sb
również wywołanie basic_filebuf<Elem, Tr>
metody , a następnie sb.open(_Filename, _Mode | ios_base::in)
. Jeśli ta ostatnia funkcja zwraca wskaźnik o wartości null, konstruktor wywołuje metodę setstate(failbit)
.
Czwarty konstruktor inicjuje obiekt z zawartością right
elementu , traktowany rvalue
jako odwołanie.
Aby uzyskać więcej informacji, zobacz basic_istream
, basic_filebuf
, setstate
i open
.
Przykład
W poniższym przykładzie pokazano, jak odczytywać tekst z pliku. Aby utworzyć plik, zobacz przykład dla basic_ofstream::basic_ofstream
elementu .
// 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
Zamyka plik.
void close();
Uwagi
Funkcja składowa wywołuje funkcję rdbuf
—> close
.
Przykład
Zobacz basic_filebuf::close
przykład, który używa elementu close
.
basic_ifstream::is_open
Określa, czy plik jest otwarty.
bool is_open() const;
Wartość zwracana
true
jeśli plik jest otwarty, false
w przeciwnym razie.
Uwagi
Funkcja składowa zwraca wartość rdbuf
—> is_open
.
Przykład
Zobacz basic_filebuf::is_open
przykład, który używa elementu is_open
.
basic_ifstream::open
Otwiera plik.
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
Nazwa pliku do otwarcia.
_Mode
Jeden z wyliczeń w pliku ios_base::openmode
.
_Prot
Domyślna ochrona otwierania pliku, równoważna parametrowi shflag
w pliku ,_fsopen
_wfsopen
.
Uwagi
Funkcja składowa wywołuje funkcję rdbuf->open(_Filename, _Mode | ios_base::in)
. Aby uzyskać więcej informacji, zobacz tematy rdbuf
oraz basic_filebuf::open
. Jeśli otwarcie zakończy się niepowodzeniem, funkcja wywołuje setstate(failbit)
metodę ios_base::failure
, która może zgłosić wyjątek. Aby uzyskać więcej informacji, zobacz setstate
.
Przykład
Zobacz basic_filebuf::open
przykład, który używa elementu open
.
basic_ifstream::operator=
Przypisuje zawartość tego obiektu strumienia. Jest to przypisanie przenoszenia obejmujące element rvalue
, który nie pozostawia kopii.
basic_ifstream& operator=(basic_ifstream&& right);
Parametry
right
Odwołanie rvalue
do basic_ifstream
obiektu.
Wartość zwracana
Zwraca wartość *this
.
Uwagi
Operator elementu członkowskiego zastępuje zawartość obiektu przy użyciu zawartości right
elementu , traktowanej rvalue
jako odwołanie. Aby uzyskać więcej informacji, zobacz tematy Lvalues
oraz Rvalues
.
basic_ifstream::rdbuf
Zwraca adres przechowywanego buforu strumienia.
basic_filebuf<Elem, Tr> *rdbuf() const
Wartość zwracana
Wskaźnik do basic_filebuf
obiektu reprezentującego przechowywany bufor strumienia.
Przykład
Zobacz basic_filebuf::close
przykład, który używa elementu rdbuf
.
basic_ifstream::swap
Wymienia zawartość dwóch basic_ifstream
obiektów.
void swap(basic_ifstream& right);
Parametry
right
Odwołanie do innego buforu strumienia.
Uwagi
Funkcja składowa wymienia zawartość tego obiektu dla zawartości right
.
Zobacz też
Bezpieczeństwo wątku w standardowej bibliotece C++
iostream
Programowanie
iostreams
Konwencje