Di per se aprendolo in r+ il puntatore è posizionato all'inizio del file... Ma se lo leggi e poi ti dimentichi il puntatore alla fine, ovviamente scriverà a partire da lì.
Puoi usare rewind() o meglio utilizzare un file temporaneo di supporto.

Edit: che lento che sono a scrivere!