ofstream sortie(ff );
sortie.write( (char *) &f, sizeof(structure)); // operation refaite n fois,
les données dans la stucture sont des valeurs de 0 a 255, structure fait 256
octets
sorttie.close();
------------ et ensuite jessai de le lire: ---------
ifstream entree;
entree.open(ff);
if (!entree.is_open()) return;
...
while (entree.read((char *) &t, sizeof(structure)))
mon probleme est que entree.read me lit les premiers 256 octets (la
structure), et sort irectement de la boucle, alors que le fichier fait plus
de 4Ko.
ca refuse donc de me lire la suite!!!!!!!
"Michel Michaud" a écrit dans le message news: MLUSc.26490$
Dans news:cfgsmd$iiq$, dark
ofstream sortie(ff );
Il faut ouvrir le fichier en mode binaire, ici :
ofstream sortie(ff, ios_base::binary);
Et là :
ifstream entree;
ifstream entree(ff, ios_base::binary);
entree.open(ff);
Pourquoi tu faisais ça en deux étapes ici ?
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
merci
je vais faire ca, j'ouvre pas en 2 etapes, c'est parce que "plus loin" siginifie en fait "dans une autre procedure (load et save)
drkm
"dark poulpo" writes:
entree.close(); // fortement recommandé
Bof. Si tu ne testes pas si la fermeture s'est bien passée et que tu n'as pas besoin d'une fermeture avant la fin de portée, je ne vois pas trop l'intérêt.
De mémoire, pour tester la fermeture, je dirais :
if ( ! entree.rdbuf()->close() ) { // erreur }
si tu es certain que le fichier est ouvert, sinon :
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
"dark poulpo" <syn-ack@wanadoo.fr> writes:
entree.close(); // fortement recommandé
Bof. Si tu ne testes pas si la fermeture s'est bien passée et que
tu n'as pas besoin d'une fermeture avant la fin de portée, je ne vois
pas trop l'intérêt.
De mémoire, pour tester la fermeture, je dirais :
if ( ! entree.rdbuf()->close() ) {
// erreur
}
si tu es certain que le fichier est ouvert, sinon :
Bof. Si tu ne testes pas si la fermeture s'est bien passée et que tu n'as pas besoin d'une fermeture avant la fin de portée, je ne vois pas trop l'intérêt.
De mémoire, pour tester la fermeture, je dirais :
if ( ! entree.rdbuf()->close() ) { // erreur }
si tu es certain que le fichier est ouvert, sinon :