La forma correcta (a mi aprecer) no es insertarle un valor nulo como es el caracter "" (nada) al archivo para sobreescribirlo, mas bien lo podes limpiar con el modo ios::trunc al momento de abrirlo
fstream archivo;
archivo.open("BORRAR.txt", ios::out | ios::trunc);//donde out abre al archivo como de salida y trunc lo limpia
archivo.close();
*Auqnue me aprece que si lo abris con la bandera ios::out no ahce falta ponerle el trunc x que lo limpia x defecto.
Ahora si lo queres limpiar en la mitad d un proceso no creo que lo que estes haciendo ste muy bien ya que nunca vas a llegar al eof() si le seguis metiendo "" y vas a tener un archivo de texto zarpado en caracteres nulos que va a parecer "vacio" pero no lo está!
Se me ocurre que lo mejor es cerrarlo y abrirlo como te dije... :S
Spero que te sirva! exitos Si encontras otra menara poasteala! exitos!