Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   duda: archivos y estructuras anidadas en c (http://www.forosdelweb.com/f96/duda-archivos-estructuras-anidadas-c-505782/)

kensou 16/07/2007 16:06

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

fightmx 16/07/2007 19:33

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.


La zona horaria es GMT -6. Ahora son las 09:21.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.