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.
Descreve um objeto que controla a inserção e a extração de elementos e objetos codificados usando 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.
Sintaxe
template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<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 de classe basic_filebuf<Elem, Tr>.
Observação
O ponteiro get e o ponteiro put de um objeto fstream NÃO são independentes um do outro. Se o ponteiro se mover, o mesmo ocorrerá com o ponteiro put.
Exemplo
O exemplo a seguir demonstra como criar um objeto basic_fstream que pode ser lido e gravado.
// basic_fstream_class.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
fstream fs("fstream.txt", ios::in | ios::out | ios::trunc);
if (!fs.bad())
{
// Write to the file.
fs << "Writing to a basic_fstream object..." << endl;
fs.close();
// Dump the contents of the file to cout.
fs.open("fstream.txt", ios::in);
cout << fs.rdbuf();
fs.close();
}
}
Writing to a basic_fstream object...
Construtores
| Construtor | Descrição |
|---|---|
| basic_fstream | Constrói um objeto do tipo basic_fstream. |
Funções de membro
| Função de membro | Descrição |
|---|---|
| fechar | Fecha um arquivo. |
| is_open | Determina se um arquivo está aberto. |
| abrir | Abre um arquivo. |
| rdbuf | Retorna o endereço do buffer de fluxo armazenado do tipo ponteiro para basic_filebuf<Elem, Tr>. |
| troca | Troca o conteúdo desse objeto pelo conteúdo de outro objeto basic_fstream. |
Requisitos
Cabeçalho:<fstream>
Namespace: std
basic_fstream::basic_fstream
Constrói um objeto do tipo basic_fstream.
basic_fstream();
explicit basic_fstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
explicit basic_fstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
int _Prot = (int)ios_base::_Openprot);
basic_fstream(basic_fstream&& right);
Parâmetros
_Filename
O nome do arquivo a ser aberto.
_Modo
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_iostream(sb), em que sb é o objeto armazenado da classe basic_filebuf<Elem, Tr>. Também inicializa sb chamando basic_filebuf<Elem, Tr>.
O segundo e o terceiro construtores inicializam a classe base chamando basic_iostream( sb). Também inicializa sb chamando basic_filebuf<Elem, Tr> e então sb.open(_ Filename, _Mode). 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, tratados como uma referência rvalue.
Exemplo
Consulte streampos para obter um exemplo que usa basic_fstream.
basic_fstream::fechar
Fecha um arquivo.
void close();
Comentários
A função membro chama rdbuf->close.
Exemplo
Consulte basic_filebuf::close para obter um exemplo de como usar close.
basic_fstream::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
Consulte basic_filebuf::is_open para obter um exemplo de como usar is_open.
basic_fstream::abrir
Abre um arquivo.
void open(
const char* _Filename,
ios_base::openmode _Mode = ios_base::in | ios_base::out,
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 | ios_base::out,
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.
_Modo
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
A função membro chama rdbuf->open(_ Filename, ). _Mode Se essa função retornar um ponteiro nulo, a função chamará setstate(failbit).
Exemplo
Consulte basic_filebuf::open para obter um exemplo de como usar open.
basic_fstream::operador=
Atribui a esse objeto o conteúdo de um objeto de fluxo especificado. Essa é uma atribuição de movimentação que envolve um rvalue que não deixa uma cópia.
basic_fstream& operator=(basic_fstream&& right);
Parâmetros
direita
Uma referência lvalue a um objeto basic_fstream.
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.
basic_fstream::rdbuf
Retorna o endereço do buffer de fluxo armazenado do tipo ponteiro para basic_filebuf<Elem, Tr>.
basic_filebuf<Elem, Tr> *rdbuf() const
Valor de retorno
O endereço do buffer de fluxo armazenado.
Exemplo
Consulte basic_filebuf::close para obter um exemplo de como usar rdbuf.
basic_fstream::swap
Troca o conteúdo de dois basic_fstream objetos.
void swap(basic_fstream& right);
Parâmetros
direita
Uma referência lvalue a um objeto basic_fstream.
Comentários
A função membro troca o conteúdo desse objeto e o conteúdo de right.
Confira também
Acesso Thread-Safe na Biblioteca Padrão C++
Programação de iostream
Convenções de iostreams