Foros del Web » Programación para mayores de 30 ;) » C/C++ »

alguien sabe como se arma este archivo secuencial

Estas en el tema de alguien sabe como se arma este archivo secuencial en el foro de C/C++ en Foros del Web. buenas noches, alguien me podria ayudar la verdad quiero aprender sobre archivos secuenciales, y me encontre este ejemplo en este link [URL="http://http://www.programacionfacil.com/cpp:busquedas_archivo_secuencial"]http://http://www.programacionfacil.com/cpp:busquedas_archivo_secuencial[/URL] pero no se ...
  #1 (permalink)  
Antiguo 28/05/2012, 20:37
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cartago
Mensajes: 39
Antigüedad: 12 años, 5 meses
Puntos: 0
alguien sabe como se arma este archivo secuencial

buenas noches, alguien me podria ayudar la verdad quiero aprender sobre archivos secuenciales, y me encontre este ejemplo en este link [URL="http://http://www.programacionfacil.com/cpp:busquedas_archivo_secuencial"]http://http://www.programacionfacil.com/cpp:busquedas_archivo_secuencial[/URL]
pero no se como debe ir el archivo secuencial que en el ejemplo esta en esta direccion: alumnos.dat no entiendo como lleva la informacion el archivo ya que dice que "fread() regresa siempre cuantas estructuras leyo" agradeceria si pudieran ayudarme a entender mas este tema
  #2 (permalink)  
Antiguo 28/05/2012, 23:12
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: alguien sabe como se arma este archivo secuencial

Hola! Si bien en el modo de apertura del archivo agrego "t" no significa que el archivo contenga caracteres visibles por nosotros, es decir no es un archivo de texto comun. Es seguro que la informacion que tiene el archivo la guardo como registros(estructuras) en un archivo binario. Asi como lee con fread, uso fwrite para guardar. Esta funcion lo que hace es guardar bloques de datos, en este caso estructuras.

Antes de hacer este programa seguro hizo el de guardar datos :P, te dejo un ejemplo:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. struct {
  5.   int matricula;
  6.   char nombre[30];
  7.   int edad;
  8. } alumno;
  9.  
  10. int main() {
  11.  
  12.   int i;
  13.   FILE *archivo;
  14.  
  15.   archivo = fopen("alumnos.dat","w+b");
  16.  
  17.   for(i=0; i<10; i++) {
  18.            
  19.            printf("REGISTRO #%d\n",i+1);
  20.            
  21.            printf("MATRICULA: "); scanf("%d",&alumno.matricula);
  22.  
  23.            printf("NOMBRE: "); scanf("%s",alumno.nombre);
  24.  
  25.            printf("EDAD: "); scanf("%d",&alumno.edad);
  26.  
  27.            fwrite(&alumno,sizeof(alumno),1,archivo);
  28.   }
  29.   fclose(archivo);
  30.  
  31.   return 0;
  32. }
El programa lo que hace es ingresar 10 registros y guardarlo en el archivo; no lo compile pero supongo q deberia andar

Saludos
  #3 (permalink)  
Antiguo 29/05/2012, 19:30
 
Fecha de Ingreso: noviembre-2011
Ubicación: Cartago
Mensajes: 39
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: alguien sabe como se arma este archivo secuencial

Gracias, ya he comprendido mejor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:44.