Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 16-jul-2007, 16:06   #1 (permalink)
kensou está en el buen camino
 
Fecha de Ingreso: septiembre-2003
Mensajes: 22
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
kensou está desconectado   Responder Citando
Antiguo 16-jul-2007, 19:33   #2 (permalink)
fightmx está en el buen camino
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 42
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.
fightmx está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93