Ecrire au milieu d'un fichier binaire existant c ++

J'essaie d'ouvrir un fichier binaire pour l'écriture sans effacer le contenu. Mais je ne veux pas écrire pour les expressions du folklore. Je veux écrire une position spécifique dans le fichier.

Voici un petit exemple:

ofstream out("test.txt", ios::binary | ios::app);
for(int i = 0; i < 100; i++)
    out.put('_');
out.write("Hallo", 5);
out.close();

ofstream out2("test.txt", ios::binary | ios::app);
out2.seekp(10);
out2.write("Welt", 4);
out2.close();

Si l'utilisation de l'app, ne cherchent pas de travail. Si vous n'utilisez pas d'application de l'ouverture du fichier efface les données. Quelqu'un sait la réponse?

source d'informationauteur Jonny Schubert