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()
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
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()
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.