La ligne
fopen("dmstats.txt", io_readwrite);
est correcte, elle crée le fichier si il n'existe pas et l'ouvre si il existe.
Et c'est ceci qu'il faut utiliser si tu ne veux qu'une seule ligne dans ton fichier.
Avec io_readwrite, le pointeur d'ecriture est positionné au début du fichier et toute écriture écrasera ce qui se trouve déjà dans le fichier.
Avec io_append, le pointeur d'écriture est positionné à la fin du fichier et les données écrites s'ajouteront à celles déjà présentes dans le fichier.
Par contre, il faut faire attention, lorsque qu'on remplace le contenu du fichier, à ce que la nouvelle ligne soit au moins de la même taille que l'ancienne sinon, l'ancienne ne sera pas totalement écrasée.
Exemple :
Ligne présente dans le fichier:
[DM]_[XST]BuBuNo death : 0 kill 2
Nouvelle ligne à écrire:
[XST]BuBuNo death : 0 kill 1
Contenu du fichier après le remplacement :
[XST]BuBuNo death : 0 kill 1ill 2
Ce qui n'est pas très joli (voire incompréhensible).
Le mieux pour régler ce problème est de supprimer le fichier et de le recréer à chaque fois.
++
Syg