ffile.h

Clase wxFFile

wxFFile implementa la E/S de archivos con búfer.

Se trata de una clase muy pequeña diseñada para minimizar la sobrecarga de su uso; de hecho, apenas hay sobrecarga, pero su uso proporciona una comprobación automática de errores y oculta las diferencias entre plataformas y compiladores.

Envuelve en su interior un manejador FILE * utilizado por la biblioteca estándar de E/S de C (también conocida como stdio).

Funciones miembro

wxFFile()

wxFFile::wxFFile()

Constructor por defecto.

wxFFile()

wxFFile::wxFFile(FILE * fp)

Abre un archivo con el puntero de archivo dado, que ya ha sido abierto.

Parámetros
fp
Un descriptor de archivo existente, como stderr.
wxFFile()

wxFFile::wxFFile( const wxString & filename, const wxString & mode = "r" )

Abre un archivo con el modo especificado.

Dado que no hay forma de saber si la operación se ha realizado correctamente desde el constructor, se debe comprobar el valor devuelto por IsOpened() para asegurarse de que no ha fallado.

Parámetros
filename
El nombre del archivo.
mode
El modo en el que se abrirá el archivo utilizando cadenas C estándar. Hay que tener en cuenta que se debe utilizar el indicador "b" si utiliza archivos binarios en Windows, ya que, de lo contrario, los resultados podrían ser inesperados debido a la conversión automática de saltos de línea que se realiza en los archivos de texto.
~wxFFile()

wxFFile::~wxFFile()

Destructor cerrará el archivo.

Nota: no es virtual, por lo que no debe derivarse de wxFFile.

Attach()

void wxFFile::Attach( FILE * fp, const wxString & name = wxEmptyString )

Añade un puntero de archivo existente al objeto wxFFile.

El descriptor ya debe estar abierto y será cerrado por el objeto wxFFile.

Close()

bool wxFFile::Close()

Cierra el archivo y devuelve verdadero si se realiza correctamente.

Detach()

FILE* wxFFile::Detach()

Recupera un puntero de archivo del objeto wxFFile: el autor de la llamada es responsable de cerrar el archivo si este descriptor está abierto.

IsOpened() devolverá false después de llamar a Detach().

Valor de retorno

El puntero FILE (esto es nuevo desde wxWidgets 3.0.0, en las versiones anteriores este método no devolvía nada).

Eof()

bool wxFFile::Eof() const

Devuelve verdadero si se ha intentado leer más allá del final del archivo.

Hay que tener en cuenta que el comportamiento de la clase wxFile basada en el descriptor de archivo es diferente, ya que wxFile::Eof() devolverá verdadero aquí tan pronto como se haya leído el último byte del archivo.

También hay que tener en cuenta también que este método sólo se puede llamar para archivos abiertos. De lo contrario, genera un assert y devuelve falso.

Error()

bool wxFFile::Error() const

Devuelve verdadero si se ha producido un error en este archivo, de forma similar a la función estándar ferror().

Hay que tener en cuenta que este método sólo se puede invocar para archivos abiertos. De lo contrario, genera un assert y devuelve falso.

Flush()

bool wxFFile::Flush()

Vacía el archivo y devuelve verdadero si se realiza correctamente.

fp()

FILE* wxFFile::fp() const

Devuelve el puntero de archivo asociado al archivo.

GetKind()

wxFileKind wxFFile::GetKind() const

Devuelve el tipo de archivo.

GetName()

const wxString& wxFFile::GetName() const

Devuelve el nombre del archivo.

Este es el nombre que se especificó cuando se creó el objeto o en la última llamada a Open(). Hay que tener en cuenta que puede estar vacío si se llamó a Attach() sin especificar el nombre.

IsOpened()

bool wxFFile::IsOpened() const

Devuelve verdadero si el archivo está abierto.

La mayoría de los métodos de esta clase sólo se pueden utilizar con un archivo abierto.

Length()

wxFileOffset wxFFile::Length() const

Devuelve la longitud del archivo.

Open()

bool wxFFile::Open( const wxString & filename, const wxString & mode = "r" )

Abre el archivo y devuelve true si se abre correctamente.

Parámetros
filename
El nombre del archivo.
mode
El modo en el que se abre el archivo.
Read()

size_t wxFFile::Read( void * buffer, size_t count )

Lee el número especificado de bytes en un búfer y devuelve el número real leído.

Parámetros
búfer
Un búfer para recibir los datos.
recuento
El número de bytes que se van a leer.
Valor de retorno

El número de bytes leídos.

ReadAll()

bool wxFFile::ReadAll( wxString * str, const wxMBConv & conv = wxConvAuto() )

Lee todo el contenido del archivo en una cadena.

Parámetros
str
Cadena en la que se leerán los datos.
conv
Objeto de conversión que se utilizará en la compilación Unicode; por defecto, se supone que el contenido del archivo está codificado en UTF-8.
Valor de retorno

true si el archivo se ha leído correctamente, false en caso contrario.

Seek()

bool wxFFile::Seek( wxFileOffset ofs, wxSeekMode mode = wxFromStart )

Busca la posición especificada y devuelve verdadero si tiene éxito.

Parámetros
ofs
Desplazamiento al que buscar.
mode
Uno de wxFromStart, wxFromEnd, wxFromCurrent.
SeekEnd()

bool wxFFile::SeekEnd(wxFileOffset ofs = 0)

Mueve el puntero del archivo al número especificado de bytes antes del final del archivo y devuelve verdadero si se realiza correctamente.

Parámetros
ofs
Número de bytes antes del final del archivo.
Tell()

wxFileOffset wxFFile::Tell() const

Devuelve la posición actual.

Write()

size_t wxFFile::Write( const void * buffer, size_t count )

Escribe el número especificado de bytes desde un búfer.

Parámetros
búfer
Un búfer que contiene los datos.
recuento
El número de bytes que se van a escribir.
Valor de retorno

El número de bytes escritos.

Write()

bool wxFFile::Write( const wxString & str, const wxMBConv & conv = wxConvAuto() )

Escribe el contenido de la cadena en el archivo y devuelve verdadero si se realiza correctamente.

El segundo argumento sólo tiene sentido en la compilación Unicode de wxWidgets cuando se utiliza conv para convertir str a una representación multibyte.