Dimenticavo una parte interessante: rimuovere il file originale e rinominare il secondo. Molto semplice:

    remove("primo.txt");
    rename("secondo.txt", "primo.txt");