Pb d'écriture en binaire (fichier

Résolu
paulo46 Messages postés 3 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 10 février 2005 - 5 sept. 2004 à 17:13
paulo46 Messages postés 3 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 10 février 2005 - 5 sept. 2004 à 18:53
Bonjour,
le problème se passe lorsque je veux modifier une entree dans le fichier (entrée sous la forme d'une struct).
Le fichier est constitué de la même manière (struct ecrites les unes à la suite des autres).

Si j'ouvre ainsi :
ofstream SortieDonnees;
SortieDonnees.open( "liste.dat", ios::binary | ios::app);
les données sont preservées mais je ne peux ecrire qu'a la fin (donc je peux pas modifier.) Meme seekp ne semble pas modifier la position du pointeur.

Et si j'ouvre ainsi :
ofstream SortieDonnees;
SortieDonnees.open( "liste.dat", ios::binary);
les données sont supprimées. Par contre, là je peux viser (seekp est OK).

Je voudrais pouvoir utiliser seekp et préserver les données si possible.

Comment faire ???

Vous l'avez compris, je suis très triste ... :(

2 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
5 sept. 2004 à 17:28
ouvre en lecture / ecriture

std::fstream SortieDonnees( "liste.dat", std::ios::in | std::ios::out | std::ios::binary );
3
paulo46 Messages postés 3 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 10 février 2005
5 sept. 2004 à 18:53
Ca marche nickel !
Merci !
0
Rejoignez-nous