Udostępnij za pośrednictwem


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

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ą rightelementu , traktowany rvalue jako odwołanie.

Aby uzyskać więcej informacji, zobacz basic_istream, basic_filebuf, setstatei open.

Przykład

W poniższym przykładzie pokazano, jak odczytywać tekst z pliku. Aby utworzyć plik, zobacz przykład dla basic_ofstream::basic_ofstreamelementu .

// 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 rightelementu , 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