Clase basic_ofstream
Describe un objeto que controla la inserción de elementos y objetos codificados en un búfer de flujo de la clase basic_filebuf< Elem, Tr>
, con elementos de tipo Elem
, cuyos rasgos de caracteres están determinados por la clase Tr
. Para obtener más información, vea basic_filebuf
.
Sintaxis
template <class Elem, class Tr = char_traits<Elem>>
class basic_ofstream : public basic_ostream<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
Cuando la especialización wchar_t
de basic_ofstream
escribe en el archivo, si el archivo se abre en modo de texto, escribirá una secuencia MBCS. La representación interna usará un búfer de caracteres wchar_t
.
El objeto almacena un objeto de clase basic_filebuf< Elem, Tr>
.
Ejemplo
En el siguiente ejemplo de código se muestra cómo crear un objeto basic_ofstream
y escribir texto en él.
// basic_ofstream_class.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
ofstream ofs("ofstream.txt");
if (!ofs.bad())
{
ofs << "Writing to a basic_ofstream object..." << endl;
ofs.close();
}
}
Constructores
Constructor | Descripción |
---|---|
basic_ofstream |
Crea un objeto de tipo basic_ofstream . |
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 secuencia almacenado. |
swap |
Intercambia el contenido de este basic_ofstream con el contenido del basic_ofstream proporcionado. |
Operadores
Operador | Descripción |
---|---|
operator= |
Asigna el contenido de este objeto de secuencia. Se trata de una asignación de movimiento que implica un rvalue reference que no deja ninguna copia atrás. |
Requisitos
Encabezado: <fstream>
Espacio de nombres: std
basic_ofstream::basic_ofstream
Crea un objeto de tipo basic_ofstream
.
basic_ofstream();
explicit basic_ofstream(
const char* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
explicit basic_ofstream(
const wchar_t* _Filename,
ios_base::openmode _Mode = ios_base::out,
int _Prot = (int)ios_base::_Openprot);
basic_ofstream(
basic_ofstream&& 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ámetro shflag
de _fsopen
, _wfsopen
.
right
Referencia a un valor R al objeto basic_ofstream
que se usa para inicializar este objeto basic_ofstream
.
Comentarios
El primer constructor inicializa la clase base al llamar a basic_ostream(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_ostream( sb)
. También inicializa sb
mediante una llamada a basic_filebuf
<Elem
, Tr
> y, después sb.open( _Filename, _Mode | ios_base::out)
. Si esta última función devuelve un puntero setstate(failbit)
, el constructor llama a NULL
.
El cuarto constructor es una función de copia. Inicializa el objeto con el contenido de right
, tratado como una referencia a un valor R.
Para obtener más información, vea basic_ostream
, open
y setstate
.
Ejemplo
En el siguiente ejemplo de código se muestra cómo crear un objeto basic_ofstream
y escribir texto en él.
// basic_ofstream_ctor.cpp
// compile with: /EHsc
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
ofstream ofs("C:\\ofstream.txt");
if (!ofs.bad())
{
ofs << "Writing to a basic_ofstream object..." << endl;
ofs.close();
}
}
basic_ofstream::close
Cierra un archivo.
void close();
Comentarios
La función miembro llama a rdbuf->close
. Para obtener más información, vea rdbuf
y close
.
Ejemplo
Consulte basic_filebuf::close
para ver un ejemplo en el que se usa close
.
basic_ofstream::is_open
Indica 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
. Para obtener más información, vea rdbuf
y is_open
.
Ejemplo
// basic_ofstream_is_open.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>
int main( )
{
using namespace std;
ifstream file;
// Open and close with a basic_filebuf
file.rdbuf( )->open( "basic_ofstream_is_open.txt", ios::in );
file.close( );
if (file.is_open())
cout << "it's open" << endl;
else
cout << "it's closed" << endl;
}
basic_ofstream::open
Abre un archivo.
void open(
const char* _Filename,
ios_base::openmode _Mode = 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::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ámetro shflag
de _fsopen
, _wfsopen
.
Comentarios
La función miembro llama a rdbuf -> open(_ Filename, _Mode | ios_base::out)
. Si esa función devuelve un puntero NULL
, la función llama a setstate(failbit)
.
Para obtener más información, vea rdbuf
, open
y setstate
.
Ejemplo
Consulte basic_filebuf::open
para ver un ejemplo en el que se usa open
.
basic_ofstream::operator=
Asigna el contenido de este objeto de secuencia. Se trata de una asignación de movimiento que implica un rvalue reference
que no deja ninguna copia atrás.
basic_ofstream& operator=(basic_ofstream&& right);
Parámetros
right
Referencia a un valor R a un objeto basic_ofstream
.
Valor devuelto
Devuelve *this
.
Comentarios
El operador de miembro reemplaza el contenido del objeto por el contenido de right
, que se trata como referencia rvalue.
basic_ofstream::rdbuf
Devuelve la dirección del búfer de secuencia almacenado.
basic_filebuf<Elem, Tr> *rdbuf() const
Valor devuelto
Devuelve la dirección del búfer de secuencia almacenado.
Ejemplo
Consulte basic_filebuf::close
para ver un ejemplo en el que se usa rdbuf
.
basic_ofstream::swap
Intercambia el contenido de dos objetos basic_ofstream
.
void swap(basic_ofstream& right);
Parámetros
right
Referencia lvalue
a otro objeto basic_ofstream
.
Comentarios
La función miembro intercambia el contenido de este objeto por el contenido de right
.
Consulte también
basic_ostream
(clase)
Seguridad para subprocesos en la biblioteca estándar de C++
Programación de iostream
Convenciones de iostreams