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

guardar en ficheros

Estas en el tema de guardar en ficheros en el foro de C/C++ en Foros del Web. olaa!! estoy haciendo una base de datos que me an mandado en el isti en C y tengo un problema al guardar los datos en ...
  #1 (permalink)  
Antiguo 24/01/2009, 14:24
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
guardar en ficheros

olaa!! estoy haciendo una base de datos que me an mandado en el isti en C y tengo un problema al guardar los datos en un fichero.

con el borland C me compila pero al ejecutarlo peta asique lo estoy haciendo con turboC que me lo compila y si funciona. el problema es que al principio el programa funciona bien, pero al salir y guardar, despues vuelvo a entrar y me aparecen caracteres estraños. he probado con el fflush por todos lados pero no da resultado. yo creo que el error debe estar en la funcion de guardar xq sino en el borland tb funcionaria pero no se... weno os dejo el codigo de la funcion guardar para que le echeis un vistazo.

void guardar_fichero(t_libro * plibro)
{
FILE *fich;
int i;
t_libro *temporal;
t_libro lib;

fich = fopen("biblioteca.dat","w"); // Fich es un puntero a fichero.
for(i = 0;i < MAX;i++)
{
if(plibro[i].ocupado == SI)
{
lib = plibro[i];
*temporal = lib;
fwrite(temporal,sizeof(t_libro),1,fich);
}
}
fclose(fich);

a ver si encontrais xq peta :(

asias de antemano y espero ke me ayudeis pronto...(tengo ke entregarlo el dia 2 de febrero)
  #2 (permalink)  
Antiguo 24/01/2009, 16:26
Avatar de define  
Fecha de Ingreso: enero-2008
Mensajes: 100
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: guardar en ficheros

pero danos los datos del error... así sin ver nada.. la sintaxis esta bien.... lo único que te falta el último }, pero no es por eso :P necesitamos ver mas codigo.. yque nos informes del error...
  #3 (permalink)  
Antiguo 25/01/2009, 06:27
 
Fecha de Ingreso: enero-2009
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: guardar en ficheros

lo del } esque se me abra colao al copiarlo xd

compilandolo no da ningun error, dice que esta todo bien pero al ejecutarlo, al salir del programa guarda los cambios y entocnes se peta, sale la pantalla del borlan C con un monton de numeros en exadecimal, y si lo compilo con el turbo C , tampoco da ningun error, y ademas guarda la informacion, solo que al volver a entrar al programa, aparte de esos datos salen otros caracteres raros (corazones, caritas etc...)

el error creo que tiene que estar en esta funcion porque si la quito el resto del programa funciona perfectamente y no da ningun fallo en ningun lado.

debe ser algo de que el bufer de entrada de datos o lo que sea se queda lleno y al guardarlo guarda mas cosas pero e probao con fflush y no ay forma..

si kereis dejo el codigo entero del programa. hay alguna forma de que se kede tabulado?? es largo y se entiene mejor asi, ke e visto ke en el otro sa kedado todo en linea...
  #4 (permalink)  
Antiguo 26/01/2009, 06:48
Avatar de define  
Fecha de Ingreso: enero-2008
Mensajes: 100
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: guardar en ficheros

aleee, ponlo en pastebin y danos la direccion, así quedara todo perfectamente tabulado y entendible
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 09:13.