| Clarence W | Bonjour, je cherche à lire un fichier binaire dont je sais que le contenu est valide (je le lis sans problème en c# avec un binaryReader).
 Je désire le lire dans mon appli c++ mais la lecture ne me renvoie pas du tout les bonnes valeurs: voilà le code qui pose problème:
 
 
 | Code : 
 /** Extraction des sommets du graphe à partir du fichier NDS */void extraireSommets(ifstream &in){ IDSommet geomID  ;   // IDSommet = unsigned int ....
 IDSommet premiereArete  ;    // Lecture de l'identifiant geom:
    lireBinaire(in , geomID);    // Lecture de l'indice de l'arête
    lireBinaire(in , premiereArete);    sommets.push_back(GeomVersSommet(geomID,premiereArete,0 ));    for (IDSommet sommet = 0; sommet < n ; sommet++){        // Lecture de l'identifiant geom:
        lireBinaire(in , geomID);        // Lecture de l'indice de l'arête
        lireBinaire(in , premiereArete);        cout<<geomID<<" "<<premiereArete<<endl;        sommets.push_back(GeomVersSommet(geomID,premiereArete,0 ));        sommets[sommet-1].p3 = premiereArete-1;    }    sommets[n-1].p3 = n-1;}//...
/** Lecture d'une valeur binaire dans le flux de fichier spécifié */template < typename type_val >inline void lireBinaire(ifstream& in, type_val& v) {    //cout<<"sizeof(v): "<<v<<" :"<<sizeof(v)<<endl;
    in.read((char*)&v, sizeof(v));}
 | 
 
 que j'appelle avec:
 
 
 | Code : 
 ifstream in2(fichierNDS.c_str());if (!in2.is_open()) { cerr << "Impossible d'ouvrir le fichier " << fichierNDS << endl; exit(1); }extraireSommets(in2);in2.close();
 | 
 
 Je ne vois pas d'où vient le problème ... Existe t'il un équivalent libre de la classe binaryReader du framework de visual ? (J'utilise mingw + Gcc 4.3.0 sous code::block et je n'ai pas envie de changer de compilo...).
 
 Cordialement,
 
 
   |