Mira lo que haces, es crear, abrir el fichero y cerrarlo, si hacer ninguna operacion dentro. Lo que tendrias que hacer es usar un fwrite, despues de abrirlo y antes de cerrarlo. La "w", lo que hace es crear el fichero si no existe y sobreescribe el contenido, es decir, que lo que guardes en la primera ejecucion en la segunda se sobreescribiran los datos nuevos sobre los anteriores, eliminandolos. Podrias usar "a+" que lo que hace es crear el fichero si no existe y si existe agrega al final del fichero los nuevos datos manteniendo los anteriores.