Je prend un des premiers lien sur google:
fstream in_out("out.txt", ios::out | ios::in);
in_out.seekp(0, ios::end); // positionnement à la fin
in_out << "etc, ...\n"; // ajout de caractères
in_out.seekp(0, ios::beg); // positionnement au début
in_out << "C'est le début"; // écrase !
in_out.seekp(3, ios::cur); // avance de 3
in_out.close()
La fonction seekp que j'ai jamais utilisé, prend un deuxième argument, il semblerait.