Funciones sobre archivos

Solo disponible en BuenasTareas
  • Páginas : 8 (1815 palabras )
  • Descarga(s) : 9
  • Publicado : 16 de junio de 2010
Leer documento completo
Vista previa del texto
FUNCIONES SOBRE ARCHIVOS SECUENCIALES ALEATORIO/BINARIOS.

Función File:

Esta función toma el contenido total de cualquier archivo y lo guarda línea por línea en un array. Es la más útil de todas las formas de lectura de archivos pues permite crear scripts complejos que trabajen en líneas... por ejemplo un rotador de banners que tenga en cada línea un banner diferente para rotar. Pero paraello es necesario conocer algunas funciones de cadena, cosa que no se tratará en este artículo.
C define la estructura de datos FILE en el archivo de cabecera "stdio.h" Para el manejo de archivos. Nosotros siempre usaremos punteros a estas Estructuras.

La definición de ésta estructura depende del compilador, pero en general Mantienen un campo con la posición actual de lectura/escritura, unbuffer Para mejorar las prestaciones de acceso al archivo y algunos campos para uso interno.
La sintaxis de file no tiene problemas:

$archivo = file ("archivo.txt");

Con lo anterior, $archivo ya es un array con todas las líneas de archivo.txt.
Pero para poder recorrer cada línea de archivo.txt es necesario crear un bucle. ¿Pero cómo sabrá el bucle en donde parar? Para ello haremos uso de lafunción count () que devuelve la cantidad de elementos de un array.
Como $archivo es un array con cada línea de archivo.txt esto quiere decir que cada elemento en el array equivale en una línea, por ello se puede usar count () fácilmente.
Pero para aclararlo veamos un ejemplo:

Función Fopen

Fopen: abre un archivo o un URL. La sintaxis es:

FILE *fopen (char *nombre, char *modo);

Éstafunción sirve para abrir y crear archivos en disco. El valor de retorno es un puntero a una estructura FILE. Los parámetros de entrada son: nombre: una cadena que contiene un nombre de archivo válido, esto depende del sistema operativo que estemos usando. El nombre puede incluir el camino completo. modo: especifica en tipo de archivo que se abrirá o se creará y el tipo de datos que puede contener,de texto o binarios:

r: sólo lectura. El archivo debe existir.
w: se abre para escritura, se crea un archivo nuevo o se sobrescribe si ya existe.
a: añadir, se abre para escritura, el cursor se sitúa al final del archivo. Si el archivo no existe, se crea.
r+: lectura y escritura. El archivo debe existir.
w+: lectura y escritura, se crea un archivo nuevo o se sobrescribe si ya existe.
a+:añadir, lectura y escritura, el cursor se sitúa al final del archivo. Si el archivo no existe, se crea.
t: tipo texto, si no se especifica "t" ni "b", se asume por defecto que es "t"
b: tipo binario.

Función Fclose:

Fclose: cierra un puntero en un archivo que se ha abierto antes con fopen(). Véase fopen () para más informaciones;

Su sintaxis es:

int fclose (FILE *archivo);

Esimportante cerrar los archivos abiertos antes de abandonar la aplicación.
Esta función sirve para eso. Cerrar un archivo almacena los datos que aún están en el buffer de memoria, y actualiza algunos datos de la cabecera del archivo que mantiene el sistema operativo. Además permite que otros programas puedan abrir el archivo para su uso. Muy a menudo, los archivos no pueden ser compartidos por variosprogramas.

Un valor de retorno cero indica que el archivo ha sido correctamente cerrado, si ha habido algún error, el valor de retorno es la constante EOF.
El parámetro es un puntero a la estructura FILE del archivo que queremos cerrar.

Función fprintf:

Sintaxis:

int fprintf(FILE *archivo, const char *formato, ...);

La función fprintf funciona igual que printf en cuanto a parámetros,pero la salida se dirige a un archivo en lugar de a la pantalla.

Función fscanf:

Sintaxis:

int fscanf(FILE *archivo, const char *formato, ...);

La función fscanf funciona igual que scanf en cuanto a parámetros, pero la entrada se toma de un archivo en lugar del teclado.

Función feof:
Sintaxis:

int feof(FILE *archivo);

Esta función sirve para comprobar si se ha alcanzado...
tracking img