Ademas de todo lo que te ha comentado amchacon, acostumbrate ya desde el principio a implementar controles de error para cualquier cosa que no sea invariable, para eso las funciones suelen retornar o manejar 'algo' que indique el exito o el fracaso de la operacion; p.ej. en el caso de 'fopen' retorna nulo cuando no consigue abrir el archivo, sabiendo esto immediatamente despues de llamar a fopen tienes que comprovar si fue valida:
Código C:
Ver originalif((f
= fopen("C:\\alums.dat", "a"))) { fwrite(&libro
, sizeof(Datos
), 1, f
); }
else {
//error, aqui 'f' es nulo con lo que no puedes usar ninguna funcion que requiera 'f'
//informa al usuario que se produjo un error
}
Saludos
vosk