Bonjour,
Je travail sur un fichier d'une taille initiale X,
Cette taille augmente au fur et � mesure de programme
A chaque fois que je veux le modifier je me positionne en X (je ne veux pas toucher aux donn�es qui se trouvent avant)
Pour se faire j'utilise le code suivant :
Le probl�me est que avec cette m�thode, qui me parait pourtant logique, les donn�es du fichier ( avant la position X ) sont alt�r�es par ce que j'�cris.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 ofstream outfile ( strFichier.c_str(), ofstream::binary | ofstream::out ); outfile.seekp( X ); // ou // outfile.seekp( X, ios_base::beg ); ne change rien outfile.write((char *)donnees, tailleDonnees);
J'ai aussi essay� le code suivant qui lui fonctionne.
Mais qui ne correspond pas � mon besoin car je ne peux plus revenir � la position X...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 ofstream outfile ( strFichier.c_str(), ofstream::binary | ofstream::app); outfile.write((char *)donnees, tailleDonnees);
J'ai remplac� la premi�re m�thode (avec le seek) par l'�quivalent C,a savoir des fopen, fread ... et fseek et cela marche tr�s bien...
Quelqu'un aurai-t-il une id�e du probl�me ??
Merci
@+
Partager