[C con Clase] Problemas de escritura en archivo.

Javier Cancio del Busto sepholin en gmail.com
Mie Mayo 28 14:36:36 CEST 2008


Muchas gracias por vuestra ayuda! Problema resutelto! ;) Aprovecho el correo
para preguntaros una cosa, tengo que entregar un programa mañana y me ha
pasado algo de lo mas curioso. Tenia el programa hecho (con Visual C++ 6.0,
que es el que usamos en las prácticas), y de repente, sin tocar NADA de
codigo, comienza a colgarseme el programa sin saber porque. He hecho una
pequeña traza y creo que he encontrado el "error" (realmente nose si
tratarlo como error, ya que sin cambiar nada de código que se me cuelgue el
programa me da que pensar), y es aquí.


void  Valida_No_Prestado (int *Id_Libro, int *Ok ) {

    reg_prestamo rprestamo;
    FILE *FP;
    int prestado=0;
    Fecha fecha;

    if((FP=fopen("prestamos.dat", "rb"))==NULL) exit(0);


    genera_fecha(fecha);


    while(!prestado && fread(&rprestamo, sizeof(rprestamo), 1, FP))
        if(*Id_Libro==rprestamo.id_libro){
            if(strcmp(rprestamo.fecha_devolucion,"0")==0)
                prestado=1;
        }

    printf("PRUEBA1\n");
    fclose(FP);
    printf("PRUEBA2\n");

    if(prestado==1){
        *Ok=1;
        *Id_Libro=rprestamo.id_libro;
        Mostrar_Error(LIBRO_PRESTADO);
    }
    else{
        *Ok=0;
        printf("\nLibro no prestado\n");
    }
}



El printf PRUEBA1 se ejecuta, pero se me cuelga antes de que se muestre el
2, por lo que creo que "peta" al cerrar el archivo, pero no le veo ningún
tipo de coherencia... Ya digo que no toque nada del código, y es mas, de
esta misma práctica hice un backup cuando todo funcionaba bien por si las
moscas, y si cargo el backup y lo ejecuto, se me cuelga en el mismo punto.

¿Sabeis por que puede ser? A un dia de la entrega y me pasan cosas
raraaaas!!

Mil gracias de nuevo.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080528/e9ee7b26/attachment.html>


Más información sobre la lista de distribución Cconclase