Me mandaron a hacer varias funciones con archivos. Una que cree un archivo, otra que lo abra, otra para agregar registros y una que los muestre.
Estoy bastaaaante perdido en el tema, pero logré que se cree el archivo y guarde algunos datos. El problema es que lo que es char lo guarda bien, pero lo que es int lo guarda como basura. (además de otros, como que no se hacer la función de "abrir", asi que decidi hacer un fopen en cada funcion xD)
Cuando estoy usando el programa
Despues de cerrar y leer de nuevo el archivo...
acá el codigo:
Main.c
Código
#include <stdio.h> #include <stdlib.h> #include "struct.h" int main() { menu(); }
Libreria
Código
#ifndef STRUCT_H_INCLUDED #define STRUCT_H_INCLUDED #include <stdio.h> #include <stdlib.h> typedef struct{ char nombre[45]; char apellido[45]; int edad; int nreg; }t_registro; void menu(); int CrearArchivo(); int AbrirArchivo(t_registro *reg); int AgregarRegistro(t_registro *reg); int MostrarRegistro(t_registro const *reg); #endif // STRUCT_H_INCLUDED
Funciones
Código
#include "struct.h" void menu() { char sele; t_registro registro; do { if((sele>='a'&&sele<='e')||sele=='0') { switch(sele) { case 'a': CrearArchivo(®istro); break; case 'b': AbrirArchivo(®istro); break; case 'c': AgregarRegistro(®istro); break; case 'd': MostrarRegistro(®istro); break; case 'e': BuscarApellido(®istro); break; } } else { } } while(sele!='0'); } //////////////// int CrearArchivo(t_registro *reg) { FILE *pf; if(pf==NULL) { return 0; } return 1; } //////////////// int AbrirArchivo(t_registro *reg) { FILE *pf; if(pf==NULL) { return 0; } return 1; } /////////////// int AgregarRegistro(t_registro *reg) { FILE *pf; if(pf==NULL) { return 0; } return 1; } /////////////// int MostrarRegistro(t_registro const *reg) { FILE *pf; if(pf==NULL) { return 0; } { } return 1; }
Si me pudieran señalar los errores, se los agradecería muchisimo
Saludos!