ficheros en lenguaje c

Páginas: 8 (1894 palabras) Publicado: 11 de octubre de 2013
FICHEROS EN LENGUAJE C

Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas en memoria secundaria. Para utilizar la información en memoria principal se emplea fundamentalmente la instrucción de asignación; sin embargo, para guardar o recuperar información de un fichero es necesariorealizar una serie de operaciones que describiremos en este apartado. El formato de declaración de un fichero es el siguiente:

FILE * nom_ var_fich;

En otros lenguajes la declaración del fichero determina el tipo de datos que se van a almacenar en él. En C la filosofía es distinta, todos los ficheros almacenan bytes y es cuando se realiza la apertura y la escritura cuando se decide cómo yqué se almacena en el mismo; durante la declaración del fichero no se hace ninguna distinción sobre el tipo del mismo. En la operación de apertura se puede decidir si el fichero va a ser de texto o binario, los primeros sirven para almacenar caracteres, los segundos para almacenar cualquier tipo de dato. Si deseamos leer un fichero como el autoexec.bat utilizaremos un fichero de texto, si queremosleer y escribir registros (struct) usaremos un fichero binario.

APERTURA Y CIERRE DE FICHEROS

Hasta ahora, para obtener y almacenar datos de una estructura de datos bastaba con realizar asignaciones a la misma. Para utilizar los ficheros el procedimiento es distinto.

Antes de usar un fichero es necesario realizar una operación de apertura del mismo; posteriormente, si se desea almacenardatos en él hay que realizar una operación de escritura y si se quiere obtener datos de él es necesario hacer una operación de lectura. Cuando ya no se quiera utilizar el fichero se realiza una operación de cierre del mismo para liberar parte de la memoria principal que pueda estar ocupando (aunque el fichero en sí está almacenado en memoria secundaria, mientras está abierto ocupa también memoriaprincipal).


La instrucción más habitual para abrir un fichero es:

FILE * fichero; fichero = fopen ( nombre-fichero, modo);

La función fopen devuelve un puntero a un fichero que se asigna a una variable de tipo fichero. Si existe algún tipo de error al realizar la operación, por ejemplo, porque se desee abrir para leerlo y éste no exista, devuelve el valor NULL.
El nombre-fichero será unacadena de caracteres que contenga el nombre (y en su caso la ruta de acceso) del fichero tal y como aparece para el sistema operativo.

El modo es una cadena de caracteres que indica el tipo del fichero (texto o binario) y el uso que se va ha hacer de él lectura, escritura, añadir datos al final, etc. Los modos disponibles son:

· r abre un fichero para lectura. Si el fichero no existedevuelve error.
· w abre un fichero para escritura. Si el fichero no existe se crea, si el fichero existe se destruye y se crea uno nuevo.
· a abre un fichero para añadir datos al final del mismo. Si no existe se crea.
· + símbolo utilizado para abrir el fichero para lectura y escritura.
· b el fichero es de tipo binario.
· t el fichero es de tipo texto. Si no se pone ni b ni t el fichero esde texto. Los modos anteriores se combinan para conseguir abrir el fichero en el modo adecuado.

Por ejemplo, para abrir un fichero binario ya existente para lectura y escritura el modo será "rb+ "; si el fichero no existe, o aun existiendo se desea crear, el modo será " wb+”. Si deseamos añadir datos al final de un fichero de texto bastará con poner "a", etc.

La forma habitual de utilizar lainstrucción fopen es dentro de una sentencia condicional que permita conocer si se ha producido o no error en la apertura, por ejemplo:

FlLE *fich;
if ((fich = fopen("nomfich.dat", "r")) == NULL)
{ /* control del error de apertura * /
printf ( " Error en la apertura. Es posible que el fichero no
exista \n ");
}

El resultado de fopen se almacena en la variable fich y después se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ficheros C
  • ficheros en c
  • Ficheros en c ++
  • Ficheros en c++
  • Ficheros en c
  • Indice De Ficheros En C
  • Ficheros de texto c
  • lenguaje c

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS