Bonjour.
Je veux ouvrir un fichier en mode exclusif, travailler sur son contenu et le réécrire. Le problème est que s'il y avait plus de caractères initialement, ils restent derrière le nouveau contenu.
Le fichier doit rester ouvert entre la lecture et l'écriture.
Voici un bout de code exemple.
Ca fait un moment que je cherche le moyen de remplacer complétement le contenu de ce fichier, sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int nb; AnsiString as; handle = FileOpen(FICHIER, fmOpenReadWrite | fmShareExclusive); if(handle == -1) { Beep(); return; } nb = FileSeek(handle,0,2); FileSeek(handle,0,0); char *buffer = new char[nb]; int res = FileRead(handle,buffer, nb); as = buffer; // Je lis "11111\n22222" FileSeek(handle,0,0); as = "33333"; nb = as.Length(); FileWrite(handle, as.c_str(), nb); // J'obtiens "33333\n22222" FileClose(handle);
Merci pour toute suggestion.
Partager