0% encontró este documento útil (0 votos)
39 vistas17 páginas

6 Presentationfiles

Cargado por

Jose Rey CId
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
39 vistas17 páginas

6 Presentationfiles

Cargado por

Jose Rey CId
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a la Programación en C

–Gestión de Ficheros–

Christopher Expósito-Izquierdo
cexposit@[Link]

Airam Expósito-Márquez
aexposim@[Link]

Israel López-Plata
ilopezpl@[Link]

Belén Melián-Batista
mbmelian@[Link]

José Marcos Moreno-Vega


jmmoreno@[Link]
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Contenidos

1 Introducción

2 Archivos

3 FILE

4 Apertura y Cierre

5 Lectura y Escritura

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Introducción:

La información almacenada en la memoria del ordenador es volátil.


Esto significa que cuando un programa finaliza su ejecución, el
contenido de la memoria se pierde

Los ordenadores emplean medios de almacenamiento secundario


para almacenar información de forma duradera

Los medios secundarios tienen la ventaja de que la información no


se pierde cuando se apaga el ordenador

La información en los medios secundarios se almacena en archivos

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Archivos:

Archivo
Es una agrupación lógica de datos, generalmente contigua, a la que se
accede en un cierto orden

Los archivos son leı́dos en el lenguaje de programación C por lı́neas de


caracteres

Cada lı́nea de caracteres está formada por cero o más caracteres


terminados con un carácter de salto de lı́nea

La última lı́nea puede no terminar en un salto de lı́nea

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

FILE:

FILE es un tipo de objeto capaz de almacenar información necesaria


para gestionar un archivo

Un FILE tiene los siguientes elementos:


Indicador de posición en el archivo

Indicador de error que indica si se ha producido un error de E/S

Indicador de fin de archivo (End of File: EOF) que indica si se ha


alcanzado el fin del archivo

...

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Apertura y Cierre:

La forma de abrir un archivo es tal como sigue:


FILE* file = fopen(nombreArchivo, modo)
donde:
nombreArchivo: nombre del archivo a abrir
modo: especifica la forma de apertura del archivo
Modo Significado
r Abre un archivo existente para lectura
w Abre un nuevo archivo para escritura. Si existe el archivo
se borra su contenido. Si no existe se crea
a Abre un archivo existente para añadir datos al final. Si
no existe se crea
r+ Abre un archivo existente para lectura y escritura
w+ Abre un archivo nuevo para escritura y lectura. Si existe
lo borra. Si no existe lo crea
a+ Abre un archivo para leer y añadir

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Apertura y Cierre:

Si fopen devuelve NULL el archivo no se pudo abrir, lo que indica un


error

Las causas de los fallos son variadas, pero muchas están relacionadas
con el modo de apertura solicitado
Si se abre un archivo con modo r, se obtendrá un fallo si el archivo no
existe o no se puede leer

Otra causa de errores es intentar abrir más archivos del permitido (ver
macro FOPEN MAX de stdio.h)

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Apertura y Cierre:

Cualquier archivo abierto se puede cerrar mediante la función fclose:


fclose(file)
donde
file: es el archivo a cerrar

fclose devuelve un entero indicando si el archivo se cerró correctamente o


no:
0: el archivo se cerró correctamente

6= 0: se ha producido algún error durante el cierre del archivo

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

#include <stdio.h>

void main() {
FILE* file = fopen("[Link]", "r");
if (file == NULL) {
printf("There was an error when opening\n");
} else {
printf("The file has been open correctly\n");
fclose(file);
}
}

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Lectura y Escritura:

Las operaciones de E/S a archivos descritas en el lenguaje de


programación C permiten acceder a los datos de los archivos con un
cierto formato, que puede ser definido por el usuario

Las principales operaciones de E/S con formato son la lectura, a través


de la función fscanf y las de escritura, a través de la función fprintf

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Lectura y Escritura:

La función fscanf permite leer datos desde un archivo. Se define tal como
sigue:
numeroElementoLeidos fscanf(archivo, formato,...);
donde
numeroElementoLeidos: número de elementos leı́dos desde el archivo.
Este número es negativo si se ha producido un error durante la lectura.
En el caso de que el error se produzca antes de la conversión de
formatos, toma el valor EOF

archivo: archivo desde el que se quiere leer

formato: secuencia de caracteres que indica los elementos a leer

Los restantes parámetros son las variables en donde se almacenarán los


elementos leı́dos

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

#include <stdio.h>

void main() {
int rows;
int columns;
FILE∗ file = fopen(”[Link]”, ”r”);
if (file == NULL) {
printf(”There was an error when opening\n”);
} else {
int read = fscanf(file, ” %i %i”, &rows, &columns);
printf(”Elements read from file: %i\n”, read);
if (read != 2) {
printf(”There was an error when reading\n”);
} else {
printf(”\tRows: %i\n”, rows);
printf(”\tColumns: %i\n”, columns);
}
fclose(file);
}
}

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Lectura y Escritura:

La función fprintf permite escribir datos en un archivo. Se define tal como


sigue:
numeroElementoEscritos fprintf(archivo, formato,...);
donde
numeroElementoEscritos: número de elementos escritos en el archivo.
Este número es negativo si se ha producido un error durante la
escritura

archivo: archivo en el que se quiere escribir

formato: secuencia de caracteres que indica los elementos a escribir

Los restantes parámetros son las variables a escribir

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

#include <stdio.h>

void main() {
int rows;
int columns;
FILE∗ fileIn = fopen(”[Link]”, ”r”);
fscanf(fileIn, ” %i %i”, &rows, &columns);
printf(”Elements read from file:\n”);
printf(”\tRows: %i\n”, rows);
printf(”\tColumns: %i\n”, columns);
fclose(fileIn);
FILE∗ fileOut = fopen(”[Link]”, ”w”);
fprintf(fileOut, ” %i %i”, rows, columns);
printf(”Data have been written successfully\n”);
fclose(fileOut);
}

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Lectura y Escritura:

Es posible comprobar si se ha alcanzado el final de un archivo o si se ha


producido un error durante las operaciones de E/S
feof(file) comprueba si se ha alcanzado EOF. En caso negativo
devuelve 0, devolviendo un valor no nulo si se ha llegado al final del
archivo

ferror(file) comprueba si se ha generado un error en las operaciones


de E/S sobre un archivo. Si no existe error, devuelve 0. En caso
contrario devuelve un valor no nulo

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

#include <stdio.h>

void main() {
int number1;
int number2;
FILE∗ file = fopen(”[Link]”, ”r”);
do {
int read = fscanf(file, ” %i %i”, &number1, &number2);
if (read == 2) {
printf(”Elements read from file:\n”);
printf(”\tNumber 1: %i\n”, number1);
printf(”\tNumber 2: %i\n”, number2);
}
} while (!feof(file) && !ferror(file));
fclose(file);
}

Introducción a la Programación en C
Introducción
Archivos
FILE
Apertura y Cierre
Lectura y Escritura

Introducción a la Programación en C
–Gestión de Ficheros–
Christopher Expósito-Izquierdo
cexposit@[Link]

Airam Expósito-Márquez
aexposim@[Link]

Israel López-Plata
ilopezpl@[Link]

Belén Melián-Batista
mbmelian@[Link]

José Marcos Moreno-Vega


jmmoreno@[Link]

Introducción a la Programación en C

También podría gustarte