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

duda: archivos y estructuras anidadas en c

Estas en el tema de duda: archivos y estructuras anidadas en c en el foro de C/C++ en Foros del Web. tengo este codigo Código: #include <stdio.h> #include <stdlib.h> #include <conio.h> char nombre[30]; int i,j; typedef struct alumnostrc { char nombrealu[30]; }ALUMNO; typedef struct paralelostrc { ...
  #1 (permalink)  
Antiguo 16/07/2007, 16:06
 
Fecha de Ingreso: septiembre-2003
Mensajes: 22
Antigüedad: 21 años, 3 meses
Puntos: 0
Desacuerdo duda: archivos y estructuras anidadas en c

tengo este codigo
Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
char nombre[30];
int i,j;

typedef struct alumnostrc
{
        char nombrealu[30];
}ALUMNO;

typedef struct paralelostrc
{
        char letra[2];
        ALUMNO alu[2];
}PARALELO;
ALUMNO alu[2];
PARALELO par[2];

int main(int argc, char *argv[])
{
    FILE *univ;
univ = fopen("univ.txt","w");

for(j=1;j<=2;j++)
{
                printf("paralelo");
                gets(nombre);
                strcpy(par[j].letra,nombre);
                for(i=1;i<=2;i++)
                {
                 printf("nombre");
                 gets(nombre);
                 strcpy(par[j].alu[i].nombrealu,nombre);
                 }
                 
                 fwrite(&par[i],sizeof(PARALELO),1,univ);
                 }
fclose(univ);
  system("PAUSE");	
  return 0;
}
la idea del codigo es guardar las estructuras anidadas en el archivo univ.txt, el problema es q al rvisar el archivo guarda solo algunos datos, al hacer esto solo con una estructura funciona sin problema pero al hacerlo con estructuras anidadas guarda solamente algunos datos, e buscado por todos lados en internet, pero no aparece nada al respeto, bueno agradeceria cualquier ayuda, de antemano gracias, chaop
__________________
Ç|@Ü)!0
  #2 (permalink)  
Antiguo 16/07/2007, 19:33
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 10 meses
Puntos: 22
Re: duda: archivos y estructuras anidadas en c

OJO:

for(j=1;j<=2;j++) <-- Necesitas corregir los valores que toma j
for(i=1;i<=2;i++) <-- Igualmente para i
fwrite(&par[i],sizeof(PARALELO),1,univ); <-- Estás seguro que debe ser ¿¿ &par[i] ??

Y por último en esta línea :
strcpy(par[j].letra,nombre);
La mayoria de las veces estarás escribiendo datos mas allá del espacio reservado para 'letra' asi que lo mas recomendable es que intentes corregirlo.

Saludos Kensou.
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 18:21.