Clase wxOutputStream
wxOutputStream es una clase base abstracta que no se puede utilizar directamente.
Jerarquía:
Es la clase base de todos los flujos que proporcionan una función Write(), es decir, que se pueden utilizar para enviar datos (por ejemplo, a un archivo, a un socket, etc.).
Si se desea crear un flujo de salida propio, se deberá derivar de esta clase e implementar únicamente la función protegida OnSysWrite().
Funciones miembro
wxOutputStream()
wxOutputStream::wxOutputStream()
Crea un objeto wxOutputStream ficticio.
~wxOutputStream()
virtual wxOutputStream::~wxOutputStream()
Destructor.
Close()
virtual bool wxOutputStream::Close()
Cierra el flujo y devuelve false si se produce un error.
El flujo se cierra implícitamente en el destructor si no se llama explícitamente a Close().
Si este flujo envuelve otro flujo o algún otro recurso, como un archivo, el recurso subyacente también se cierra si es propiedad de este flujo, o se deja abierto en caso contrario.
Reimplementado en , wxTarOutputStream y wxArchiveOutputStream.
LastWrite()
virtual size_t wxOutputStream::LastWrite() const
Devuelve el número de bytes escritos durante la última llamada a Write().
Puede devolver 0 incluso si no hay ningún error en el flujo, si sólo es temporalmente imposible escribir en él.
OnSysWrite()
size_t wxOutputStream::OnSysWrite( const void * buffer, size_t bufsize )
Función interna.
Se invoca cuando el flujo desea escribir datos del tamaño especificado bufsize en el búfer dado.
Debe devolver el tamaño que se ha escrito realmente (que puede ser cero si bufsize es cero o si se ha producido un error; en este último caso, la variable interna m_lasterror debe establecerse adecuadamente).
PutC()
void wxOutputStream::PutC(char c)
Coloca el carácter especificado en la cola de salida e incrementa la posición del flujo.
SeekO()
virtual wxFileOffset wxOutputStream::SeekO( wxFileOffset pos, wxSeekMode mode = wxFromStart )
Cambia la posición actual del flujo.
Parámetros
- pos
- Desplazamiento al que buscar.
- mode
- Uno de wxFromStart, wxFromEnd, wxFromCurrent.
Valor de retorno
La nueva posición del flujo o wxInvalidOffset en caso de error.
<`>Reimplementado en wxBufferedOutputStream.TellO()
virtual wxFileOffset wxOutputStream::TellO() const
Devuelve la posición actual del flujo.
Write()
virtual wxOutputStream& wxOutputStream::Write( const void * buffer, size_t size )
Escribe hasta la cantidad especificada de bytes utilizando los datos del búfer.
Hay que tener en cuenta que no siempre se pueden escribir todos los datos, por lo que debe comprobar el número de bytes realmente escritos en el flujo utilizando LastWrite() cuando esta función devuelva un resultado.
En algunos casos (por ejemplo, al escribir en el extremo de una tubería que está llena), es posible que no haya errores y que se hayan escrito cero bytes. Esta función devuelve una referencia al objeto actual, por lo que el usuario puede comprobar inmediatamente cualquier estado del flujo.
Write()
wxOutputStream& wxOutputStream::Write(wxInputStream & stream_in)
Lee los datos del flujo de entrada especificado y los almacena en el flujo actual.
Los datos se leen hasta que se produce un error en uno de los dos flujos.
WriteAll()
bool wxOutputStream::WriteAll( const void * buffer, size_t size )
Escribe exactamente el número especificado de bytes desde el búfer.
Devuelve true si se han escrito exactamente size bytes. De lo contrario, devuelve false y se debe utilizar LastWrite() para recuperar la cantidad exacta de datos escritos si es necesario.
Este método utiliza llamadas repetidas a Write() (que puede devolver sólo la escritura de una parte de los datos) si es necesario.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxStreamBase.