Archivos Binarios Lenguaje C Prof. Gonzalo Pastor
Se puede Guardar cualquier carácter El espacio, enter o Control+z es un caracter más No necesitan una estructura fija Clasificación Archivos estructurados ¿qué son? ¿qué contienen? ¿Se parecen a una ? Estructurados No Estructurados
Tabla ¿Se llaman? Puntero ???
Acciones fseek()
Ejercicio: Crear un programa que tenga: w struct registro{ char nombre[30]; char direccion[30]; char telefono[11]; int edad; } datos; Menú: 1 Alta 2 Listado 3 Consulta 4 Modificación 5 Baja
fopen() w p_archivo=fopen(archivo,modo) archivo: nombre del archivo modos: rb wb ab rb+ wb+ ab+ Leen Escriben Mueven el puntero
¿Cómo se llama? Memoria Disco
fwrite() w fwrite(registro,tamaño,cantidad,arc hivo) Ejemplos: registro: &datos tamaño: sizeof(datos) cantidad: 1 archivo: p_archivo En los archivos binarios se graban o se leen registros enteros
fread() w bytes=fread(registro,tamaño,cantidad, w archivo) Ejemplos: registro: &datos tamaño: sizeof(datos) cantidad: 1 archivo: p_archivo
Listado Abrir el archivo en modo rb while (fread (...)!=NULL) printf (..) Cerrar
Comparación de string strcmp(s1,s2) Compara el s1 con el s2 y devuelve 0 si son iguales <0 si s1 está antes de s2 >0 si s1 está después de s2 strcmpi(s1,s2) similar a strmcp() pero no distingue mayúsculas de minúsculas strstr(s1,s2) busca el s2 dentro del s1 Si no lo encuentra devuelve NULL
Consulta Se programa de manera similar al Listado Debe: Pedir el nombre de la persona a consultar Los datos encontrados deben ocupar una pantalla Listado Juan Gral Flores Pedro Propios Carlos Nueva Troya Consulta Nombre: Juan Direccion: Gral Flores Telefono:
Consulta Ingresar el nombre Abrir el archivo en modo rb while (fread (...)!=NULL) Si registro.nombre=nombre Mostrar datos Pausa Fin Si Cerrar
Definir esta variable al principio del programa
Vaciado Pedir clave de acceso Si es correcta Abrir el archivo modo W Cerrar el archivo Fin Si clave=getpass(mensaje)