Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Classe
Descreve um objeto que controla a extração de elementos e objetos codificados de um buffer de fluxo da classe basic_filebuf<Elem, Tr>, com elementos do tipo Elem, cujas características dos caracteres são determinadas pela classe Tr.
Para obter mais informações, consulte basic_filebuf.
Sintaxe
template <class Elem, class Tr = char_traits<Elem>>
class basic_ifstream : public basic_istream<Elem, Tr>
Parâmetros
Elem
O elemento básico no buffer de arquivo.
Tr
As características do elemento básico no buffer de arquivo (geralmente char_traits<Elem>).
Comentários
O objeto armazena um objeto da classe basic_filebuf<Elem, Tr>.
Exemplo
O exemplo a seguir mostra como ler texto de um arquivo.
// 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();
}
}
Entrada: basic_ifstream_class.txt
This is the contents of basic_ifstream_class.txt.
Saída
This is the contents of basic_ifstream_class.txt.
Construtores
| Construtor | Descrição |
|---|---|
basic_ifstream |
Inicializa uma nova instância de um objeto basic_ifstream. |
Funções de membro
| Função de membro | Descrição |
|---|---|
close |
Fecha um arquivo. |
is_open |
Determina se um arquivo está aberto. |
open |
Abre um arquivo. |
rdbuf |
Retorna o endereço do buffer de fluxo armazenado. |
swap |
Troca o conteúdo desse basic_ifstream pelo conteúdo do basic_ifstream fornecido. |
Operadores
| Operador | Descrição |
|---|---|
operator= |
Atribui o conteúdo desse objeto de fluxo. Essa é uma atribuição de movimentação que envolve um rvalue que não deixa uma cópia para trás. |
Requisitos
Cabeçalho: <fstream>
Namespace: std
basic_ifstream::basic_ifstream
Constrói um objeto do 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);
Parâmetros
_Filename
O nome do arquivo a ser aberto.
_Mode
Uma das enumerações em ios_base::openmode.
_Prot
A proteção de abertura de arquivo padrão, equivalente ao parâmetro shflag em _fsopen, _wfsopen.
Comentários
O primeiro construtor inicializa a classe base chamando basic_istream(sb), em que sb é o objeto armazenado da classe basic_filebuf<Elem, Tr>. Ele também inicializa sb chamando basic_filebuf<Elem, Tr>.
O segundo e o terceiro construtores inicializam a classe base chamando basic_istream(sb). Também inicializa sb chamando basic_filebuf<Elem, Tr> e, em seguida, sb.open(_Filename, _Mode | ios_base::in). Se a última função retornar um ponteiro nulo, o construtor chamará setstate(failbit).
O quarto construtor inicializa o objeto com o conteúdo de right, tratado como uma referência rvalue.
Para obter mais informações, consulte basic_istream, basic_filebuf, setstate e open.
Exemplo
O exemplo a seguir mostra como ler texto de um arquivo. Para criar o arquivo, consulte o exemplo de 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
Fecha um arquivo.
void close();
Comentários
A função membro chama rdbuf -> close.
Exemplo
Confira basic_filebuf::close para ver um exemplo que usa close.
basic_ifstream::is_open
Determina se um arquivo está aberto.
bool is_open() const;
Valor de retorno
true se o arquivo estiver aberto, false caso contrário.
Comentários
A função membro retorna rdbuf -> is_open.
Exemplo
Confira basic_filebuf::is_open para ver um exemplo que usa is_open.
basic_ifstream::open
Abre um arquivo.
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);
Parâmetros
_Filename
O nome do arquivo a ser aberto.
_Mode
Uma das enumerações em ios_base::openmode.
_Prot
A proteção de abertura de arquivo padrão, equivalente ao parâmetro shflag em _fsopen, _wfsopen.
Comentários
Essa função membro chama rdbuf->open(_Filename, _Mode | ios_base::in). Para obter mais informações, consulte rdbuf e basic_filebuf::open. Se a abertura falhar, a função chamará setstate(failbit), o que poderá gerar uma exceção ios_base::failure. Para obter mais informações, consulte setstate.
Exemplo
Confira basic_filebuf::open para ver um exemplo que usa open.
basic_ifstream::operator=
Atribui o conteúdo desse objeto de fluxo. Essa é uma atribuição de movimentação que envolve um rvalue que não deixa uma cópia para trás.
basic_ifstream& operator=(basic_ifstream&& right);
Parâmetros
right
Uma referência rvalue a um objeto basic_ifstream.
Valor de retorno
Retorna *this.
Comentários
O operador membro substitui o conteúdo do objeto usando o conteúdo de right, tratado como uma referência de rvalue. Para obter mais informações, consulte Lvalues e Rvalues.
basic_ifstream::rdbuf
Retorna o endereço do buffer de fluxo armazenado.
basic_filebuf<Elem, Tr> *rdbuf() const
Valor de retorno
Um ponteiro para um objeto basic_filebuf que representa o buffer de fluxo armazenado.
Exemplo
Confira basic_filebuf::close para ver um exemplo que usa rdbuf.
basic_ifstream::swap
Troca o conteúdo de dois basic_ifstream objetos.
void swap(basic_ifstream& right);
Parâmetros
right
Uma referência a outro buffer de fluxo.
Comentários
A função membro troca o conteúdo desse objeto pelo conteúdo de right.
Confira também
Acesso Thread-Safe na Biblioteca Padrão C++
Programação iostream
Convenções iostreams