Archivos en C:
El estándar de C contiene varias funciones para la edición de ficheros, éstas están
definidas en la cabecera stdio.h y por lo general empiezan con la letra f, haciendo
referencia a file. Adicionalmente se agrega un tipo FILE, el cual se usará como apuntador
a la información del fichero La secuencia que usaremos para realizar operaciones será la
siguiente.
- Crear un apuntador del tipo FILE *
- Abrir el archivo utilizando la función fopen y asignándole el resultado de la llamada a nuestro apuntador.
- Hacer las diversas operaciones (lectura, escritura, etc).
- Cerrar el archivo utilizando la función fclose.
Función fopen
Los parámetros de entrada de fopen son:
- filename: una cadena que contiene un nombre de fichero válido. opentype: especifica el tipo de fichero que se abrirá o se creará.
Una lista de parámetros opentype para la función fopen son:
- "r" : abrir un archivo para lectura, el fichero debe existir.
- "w" : abrir un archivo para escritura, se crea si no existe o se sobreescribe si existe.
- "a" : abrir un archivo para escritura al final del contenido, si no existe se crea.
- "r+" : abrir un archivo para lectura y escritura, el fichero debe existir.
- "w+" : crear un archivo para lectura y escritura, se crea si no existe o se sobreescribe si existe.
- "r+b ó rb+" : Abre un archivo en modo binario para actualización (lectura y escritura).
- "rb" : Abre un archivo en modo binario para lectura.
Adicionalmente hay tipos utilizando "b" (binary) los cuales no serán mostrados
fcl.
Función fclose
Esta función sirve para poder cerrar un fichero que se ha abierto.
El prototipo correspondiente de fclose es:
Un valor de retorno cero indica que el fichero ha sido correctamente cerrado, si ha habido
algún error, el valor de retorno es la constante EOF.
Un ejemplo pequeño para abrir y cerrar el archivo llamado fichero.in en modo lectura:
Como vemos, en el ejemplo se utilizó el opentype "r", que es para la lectura.
Otra cosa importante es que el lenguaje C no tiene dentro de si una estructura para el
manejo de excepciones o de errores, por eso es necesario comprobar que el archivo fue
abierto con éxito "if (fp == NULL)". Si fopen pudo abrir el archivo con éxito devuelve la
referencia al archivo (FILE *), de lo contrario devuelve NULL y en este caso se debera
revisar la direccion del archivo o los permisos del mismo. En estos ejemplos solo vamos
a dar una salida con un retorno de 1 que sirve para señalar que el programa termino por
un error.
Otra cosa importante es que el lenguaje C no tiene dentro de si una estructura para el
manejo de excepciones o de errores, por eso es necesario comprobar que el archivo fue
abierto con éxito "if (fp == NULL)". Si fopen pudo abrir el archivo con éxito devuelve la
referencia al archivo (FILE *), de lo contrario devuelve NULL y en este caso se debera
revisar la direccion del archivo o los permisos del mismo. En estos ejemplos solo vamos
a dar una salida con un retorno de 1 que sirve para señalar que el programa termino por
un error.
No hay comentarios:
Publicar un comentario