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
, setstate
e 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