Condividi tramite


Classe basic_ifstream

Descrive un oggetto che controlla l'estrazione di elementi e oggetti codificati da un buffer di flusso della classe basic_filebuf<Elem, Tr>, con elementi di tipo Elem, i cui tratti di carattere sono determinati dalla classe Tr.

Per ulteriori informazioni, vedere basic_filebuf.

Sintassi

template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<Elem, Tr>

Parametri

Elem
L'elemento di base del buffer di file.

Tr
Tratti dell'elemento di base del buffer di file (in genere char_traits<Elem>).

Osservazioni:

L'oggetto archivia un oggetto della classe basic_filebuf<Elem, Tr>.

Esempio

L'esempio seguente illustra come leggere testo da un file.

// 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();
    }
}

Immissione: basic_ifstream_class.txt

This is the contents of basic_ifstream_class.txt.

Output

This is the contents of basic_ifstream_class.txt.

Costruttori

Costruttore Descrizione
basic_ifstream Consente di inizializzare una nuova istanza di un oggetto basic_ifstream.

Funzioni membro

Funzione membro Descrizione
close Chiude un file.
is_open Determina se un file è aperto.
open Apre un file.
rdbuf Restituisce l'indirizzo del buffer del flusso archiviato.
swap Scambia il contenuto di questo basic_ifstream con il contenuto del parametro basic_ifstream fornito.

Operatori

Operatore Descrizione
operator= Assegna il contenuto di questo oggetto flusso. Si tratta di un'assegnazione di spostamento che coinvolge un rvalue oggetto che non lascia una copia dietro.

Requisiti

Intestazione: <fstream>

Spazio dei nomi: std

basic_ifstream::basic_ifstream

Costruisce un oggetto di tipo 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);

Parametri

_Filename
Nome del file da aprire.

_Mode
Una delle enumerazioni in ios_base::openmode.

_Prot
Protezione di apertura file predefinita, equivalente al shflag parametro in _fsopen, _wfsopen.

Osservazioni:

Il primo costruttore inizializza la classe base chiamando basic_istream(sb), dove sb è l'oggetto archiviato della classe basic_filebuf<Elem, Tr>. Inizializza sb anche chiamando basic_filebuf<Elem, Tr>.

Il secondo e il terzo costruttore inizializzano la classe base chiamando basic_istream(sb). Inizializza sb anche chiamando basic_filebuf<Elem, Tr>, quindi sb.open(_Filename, _Mode | ios_base::in). Se quest'ultima funzione restituisce un puntatore Null, il costruttore chiama setstate(failbit).

Il quarto costruttore inizializza l'oggetto con il contenuto di right, considerato come rvalue riferimento.

Per altre informazioni, vederebasic_istream, basic_filebuf, setstatee open.

Esempio

L'esempio seguente illustra come leggere testo da un file. Per creare il file, vedere l'esempio per 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

Chiude un file.

void close();

Osservazioni:

La funzione membro chiama rdbuf -> close.

Esempio

Vedere basic_filebuf::close per un esempio che usa close.

basic_ifstream::is_open

Determina se un file è aperto.

bool is_open() const;

Valore restituito

true se il file è aperto; in caso contrario, false.

Osservazioni:

La funzione membro restituisce rdbuf -> is_open.

Esempio

Vedere basic_filebuf::is_open per un esempio che usa is_open.

basic_ifstream::open

Apre un file.

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

Parametri

_Filename
Nome del file da aprire.

_Mode
Una delle enumerazioni in ios_base::openmode.

_Prot
Protezione di apertura file predefinita, equivalente al shflag parametro in _fsopen, _wfsopen.

Osservazioni:

La funzione membro chiama rdbuf->open(_Filename, _Mode | ios_base::in). Per altre informazioni, vedere rdbuf e basic_filebuf::open. Se l'apertura ha esito negativo, la funzione chiama setstate(failbit), che può generare un'eccezione ios_base::failure . Per ulteriori informazioni, vedere setstate.

Esempio

Vedere basic_filebuf::open per un esempio che usa open.

basic_ifstream::operator=

Assegna il contenuto di questo oggetto flusso. Si tratta di un'assegnazione di spostamento che coinvolge un rvalue oggetto che non lascia una copia dietro.

basic_ifstream& operator=(basic_ifstream&& right);

Parametri

right
Riferimento rvalue a un oggetto basic_ifstream.

Valore restituito

Restituisce *this.

Osservazioni:

L'operatore membro sostituisce il contenuto dell'oggetto utilizzando il contenuto di right, trattato come rvalue riferimento. Per altre informazioni, vedere Lvalues e Rvalues.

basic_ifstream::rdbuf

Restituisce l'indirizzo del buffer del flusso archiviato.

basic_filebuf<Elem, Tr> *rdbuf() const

Valore restituito

Puntatore a un basic_filebuf oggetto che rappresenta il buffer del flusso archiviato.

Esempio

Vedere basic_filebuf::close per un esempio che usa rdbuf.

basic_ifstream::swap

Scambia il contenuto di due oggetti basic_ifstream.

void swap(basic_ifstream& right);

Parametri

right
Riferimento a un altro buffer del flusso.

Osservazioni:

La funzione membro scambia il contenuto di questo oggetto con il contenuto di right.

Vedi anche

Thread Safety in the C++ Standard Library (Sicurezza dei thread nella libreria standard C++)
iostream Programmazione
iostreams Convenzioni