Comment tronquer un fichier alors qu'il est ouvert avec fstream

Je sais qu'il est possible de tronquer un fichier avec

std::fstream fs(mypath, std::fstream::out | std::fstream::trunc);

mais j'ai besoin de lire le fichier, de le tronquer, puis d'écrire de nouveaux contenus tous avec le même descripteur de fichier (donc l'ensemble de l'opération est atomique). Quelqu'un?

Le flux de fichiers ne permet pas cette fonctionnalité autant que je sache. Vous devez fermer et rouvrir le fichier de flux avec trunc de le faire.

OriginalL'auteur Elliot Cameron | 2013-12-27