Compartir vía


basic_fstream (Clase)

Describe un objeto que controla la inserción y la extracción de elementos y objetos codificados mediante un búfer de flujo de clase basic_filebuf<Elem, Tr>, con elementos de tipo Elem, cuyos rasgos de caracteres están determinados por la clase Tr.

Sintaxis

template <class Elem, class Tr = char_traits<Elem>>
class basic_fstream : public basic_iostream<Elem, Tr>

Parámetros

Elem
Elemento básico del búfer del archivo.

Tr
Rasgos del elemento básico del búfer del archivo (normalmente char_traits<Elem>).

Comentarios

El objeto almacena un objeto de clase basic_filebuf<Elem, Tr>.

Nota:

El puntero get y el puntero put de un objeto fstream NO son independientes el uno del otro. Si el puntero get se mueve, también lo hace el puntero put.

Ejemplo

En el ejemplo siguiente se muestra cómo crear un objeto basic_fstream del que se puede leer y en el que se puede escribir.

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

Constructores

Constructor Descripción
basic_fstream Construye un objeto de tipo basic_fstream.

Funciones miembro

Función de miembro Descripción
close Cierra un archivo.
is_open Determina si un archivo está abierto.
open Abre un archivo.
rdbuf Devuelve la dirección del búfer de flujo almacenado de puntero de tipo a basic_filebuf<Elem, Tr>.
swap Intercambia el contenido de este objeto con el contenido de otro objeto basic_fstream.

Requisitos

Encabezado:<fstream>

Espacio de nombres: std

basic_fstream::basic_fstream

Construye un objeto de 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
Nombre del archivo que se va a abrir.

_Mode
Una de las enumeraciones de ios_base::openmode.

_Prot
Protección predeterminada de apertura del archivo, equivalente al parámetroshflag en _fsopen, _wfsopen.

Comentarios

El primer constructor inicializa la clase base al llamar a basic_iostream(sb), donde sb es el objeto almacenado de clase basic_filebuf<Elem, Tr>. También inicializa sb al llamar a basic_filebuf<Elem, Tr>.

El segundo y el tercer constructor inicializan la clase base al llamar a basic_iostream(sb). También inicializa sb al llamar a basic_filebuf<Elem, Tr> y, luego, a sb.open(_ Filename, _Mode). Si esta última función devuelve un puntero nulo, el constructor llama a setstate(failbit).

El cuarto constructor inicializa el objeto con el contenido de right, tratado como una referencia a un valor R.

Ejemplo

Vea streampos para obtener un ejemplo de uso de basic_fstream.

basic_fstream::close

Cierra un archivo.

void close();

Comentarios

La función miembro llama a rdbuf- > close.

Ejemplo

Vea basic_filebuf::close para obtener un ejemplo de uso de close.

basic_fstream::is_open

Determina si un archivo está abierto.

bool is_open() const;

Valor devuelto

true si el archivo está abierto; de lo contrario, false.

Comentarios

La función miembro devuelve rdbuf->is_open.

Ejemplo

Vea basic_filebuf::is_open para obtener un ejemplo de uso de is_open.

basic_fstream::open

Abre un archivo.

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
Nombre del archivo que se va a abrir.

_Mode
Una de las enumeraciones de ios_base::openmode.

_Prot
Protección predeterminada de apertura del archivo, equivalente al parámetroshflag en _fsopen, _wfsopen.

Comentarios

La función miembro llama a rdbuf -> open(_ Filename, ). _Mode Si esa función devuelve un puntero nulo, la función llama a setstate(failbit).

Ejemplo

Vea basic_filebuf::open para obtener un ejemplo de uso de open.

basic_fstream::operator=

Asigna a este objeto el contenido de un objeto de flujo especificado. Se trata de una asignación de movimiento que implica un valor que no deja ninguna copia.

basic_fstream& operator=(basic_fstream&& right);

Parámetros

right
Referencia lvalue a un objeto basic_fstream.

Valor devuelto

Devuelve *this.

Comentarios

El operador miembro reemplaza el contenido del objeto por el contenido de right, que se trata como referencia rvalue.

basic_fstream::rdbuf

Devuelve la dirección del búfer de flujo almacenado de puntero de tipo a basic_filebuf<Elem, Tr>.

basic_filebuf<Elem, Tr> *rdbuf() const

Valor devuelto

Dirección del búfer de flujo almacenado.

Ejemplo

Vea basic_filebuf::close para obtener un ejemplo de uso de rdbuf.

basic_fstream::swap

Intercambia el contenido de dos objetos basic_fstream.

void swap(basic_fstream& right);

Parámetros

right
Referencia lvalue a un objeto basic_fstream.

Comentarios

La función miembro intercambia el contenido de este objeto por el contenido de right.

Consulte también

Seguridad para subprocesos en la biblioteca estándar de C++
Programación con iostream
Convenciones de iostreams