SDL_rwops.h

Función SDL_RWFromFile

Sintaxis

SDL_RWops* SDL_RWFromFile(const char *file,
                          const char *mode);

Descripción

Esta función crea una nueva estructura SDL_RWops para leer y/o escribir en un archivo con nombre.

Parámetros

file
Una cadena UTF-8 con el nombre del fichero a abrir.
mode
Una cadena ASCII con el modo a usar para abrir el fichero.

Valor de retorno

Devuelve un puntero a la estructrua SDL_RWops que se ha creado o NULL si falla. Ver SDL_GetError.

Observaciones

La cadena de modo se trata más o menos igual que en una llamada a fopen() de la biblioteca C, aunque SDL no utilice fopen() entre bastidores.

Cadenas de modo disponibles:

  • "r": Abrir un fichero para su lectura. El fichero debe existir.
  • "w": Crear un archivo vacío para escribir. Si ya existe un archivo con el mismo nombre, su contenido se borra y el archivo se trata como un nuevo archivo vacío.
  • "a": Añadir a un fichero. Las operaciones de escritura añaden datos al final del fichero. El fichero se crea si no existe.
  • "r+": Abrir un fichero para actualizar tanto la lectura como la escritura. El fichero debe existir.
  • "w+": Crear un fichero vacío tanto para lectura como para escritura. Si ya existe un fichero con el mismo nombre, su contenido se borra y el fichero se trata como un nuevo fichero vacío.
  • "a+": Abrir un fichero para lectura y anexión. Todas las operaciones de escritura se realizan al final del fichero, protegiendo el contenido anterior para que no se sobrescriba. Se puede reposicionar (fseek, rewind) el puntero interno a cualquier parte del fichero para lectura, pero las operaciones de escritura lo moverán de nuevo al final del fichero. El fichero se crea si no existe.

NOTA: Para abrir un archivo como archivo binario, debe incluirse un carácter "b" en la cadena de modo. Este carácter "b" adicional puede añadirse al final de la cadena (con lo que se obtienen los siguientes modos compuestos: "rb", "wb", "ab", "r+b", "w+b", "a+b") o insertarse entre la letra y el signo "+" para los modos mixtos ("rb+", "wb+", "ab+"). Los caracteres adicionales pueden seguir la secuencia, aunque no deberían tener ningún efecto. Por ejemplo, a veces se añade "t" para explicitar que se trata de un archivo de texto.

Esta función admite nombres de archivo Unicode, pero deben estar codificados en formato UTF-8, independientemente del sistema operativo subyacente.

Como alternativa, SDL_RWFromFile() abrirá de forma transparente un nombre de archivo coincidente en los activos de una aplicación Android.

Al cerrar SDL_RWops se cerrará el manejador de archivo que SDL mantiene internamente.