Você está na página 1de 4

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA

Archivos en C

El Almacenamiento de datos en estructuras de datos vistas anteriormente solo se generan temporalmente,


es decir, cuando termina el programa los datos se pierden. Para ello, una forma de no perderlos y
recuperarlos aun cuando el programa termine es con el manejo de Archivos.

C ve cada uno de los archivos simplemente como un grupo secuencial de bytes. Cada archivo termina
con un marcador de fin de archivo o un número de bytes especificado registrado en una estructura de
datos.

Las funciones para manipular los Archivos son:

Función Descripción
fopen() Abre un flujo
fclose() Cierra un flujo
putc Escribe un carácter en un flujo
getc() Lee un carácter desde un flujo
fputs() Escribe una cadena en un flujo
fgets() Obtiene una cadena de un flujo
fseek() Salta al byte especificado en un flujo
fprintf() Imprime datos con formato en un flujo
fscanf() Lee datos con formato en un flujo
eof() Devuelve verdadero o falso si se halla el fin del archivo.

Los flujos dan canales de comunicación entre el archivo y el programa. Por ejemplo, el flujo de entrada
estándar permite que un programa lea datos desde el teclado, el flujo de salida estándar permite que un
programa imprima datos en la pantalla. Un flujo se relaciona con un archivo utilizando una operación de
apertura y se desliga del archivo con una operación de cierre.

Existen 2 tipos de flujos: Texto y binarios.

El flujo de Texto se utiliza con conversiones de Caracteres. Es decir, puede no haber correspondencia
entre lo que se envía al flujo y lo que se escribe en el archivo.

El flujo Binario tiene una correspondencia directa entre lo que se envía y se escribe en el archivo.

Un archivo es el grupo de información que está en una entidad física real que recibe los datos, ya sea DD
o diskette.

Abrir un Archivo puede ser para varios propósitos: lectura, escritura o ambos, por lo que se utiliza la
siguiente función para ello:

FILE fopen(char *f,char *modo); que es lo mismo que

Página 1 de 4
fopen (Nombre del Archivo, Modo);

Los modos de Abrir al archivo se especifican en la siguiente tabla:

Acceso Descripción.
"r" Abre un archivo para lectura. El archivo debe de existir
"w" Abre para escritura. Si el archivo no existe se crea, pero si existe se borra su información
para crearla de nuevo.
"a" Abre para escribir al final de el. Si el archivo no existe se crea.
"r+" Abre para Escritura/Lectura. El archivo debe existir.
"w+" Abre para Escritura/Lectura. Si el archivo no existe se crea, pero si existe su información
se destruye para crearla de nuevo.
"a+" Abre para escribir al final de el y leer. Si el archivo no existe se crea.
"rb" Abre un archivo binario para lectura. El archivo debe existir.
"wb" Abre un archivo binario para escritura. Si el archivo no existe se crea, pero si existe su
información se destruye para crearla de nuevo.
"ab" Se abre un archivo binario para escribir al final de el. Si el archivo no existe se crea.
"rb+" Abre un archivo binario para lectura/Escritura. El archivo debe existir
"wb+" Abre un archivo binario para lectura/escritura. Si el archivo no existe se crea, pero si
existe su información se destruye para crearla de nuevo.
"ab+" Abre un archivo binario para lectura y añadir. Si el archivo no existe se crea.

Cerrar un Archivo después de trabajar es algo que debe de hacerse, si no se hace este se cierra
automáticamente cuando finaliza el programa. Se cierra de la siguiente manera:

fclose(FILE *f)

Ejemplo de programa que Escribe y lee carácter por carácter de un archivo las instrucciones usadas son
putc y getc. Observe el manejo de fopen y fclose en los siguientes ejemplos.

Int putc(int c, FILE*f); Escribe el carácter c en un archivo apuntado por f

Int getc(FILE *f); Devuelve el carácter leído e incrementa la posición actual del indicador del archivo, si
se detecta el fin del archivo se devuelve EOF.

Página 2 de 4
FILE *apuntador establece que "apuntador" es un apuntador a la estructura FILE. La forma de Escribir y
leer la información por medio de strings es por medio de las instrucciones fgets y fputs.
int fputs(char *cad, FILE *f);Escribe una cadena de caracteres a un archivo apuntado por f.
int fgets(char *cad, int n, FILE *f); Lee una cadena de Caracteres.

Página 3 de 4
Las instrucciones fread y fwrite se utilizan en archivos en el que se utilizan estructuras para definir la
longitud de cada registro.

fwrite(void *buffer,size_t num_bytes,size_t n, FILE *f);

Escribe n registros de longitud num_bytes desde la memoria apuntada por buffer al archivo f.

fread(void *buffer,size_t num_bytes,size_t n, FILE *f);

Lee n registros de num_bytes en la memoria apuntada hacia buffer desde el archivo f.

Página 4 de 4

Você também pode gostar