Bonjour.

Je cherche à lire un fichier binaire en C++. J'ai réussi à isoler un problème sur un autre fichier et j'expose donc ici un "cas test".

Il s'agit de lire un tout petit fichier "test" contenant le code hexadécimal suivant (le fichier de 16 octets est disponible ici : http://www.2shared.com/file/hd68dqSa/test.html )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
3c960d54
bcd6b9e6
3c6b1ae6
3bed7ca4
Normalement, cela encode les float suivants :
1.8316902E-02
-2.6211690E-02
1.4349675E-02
7.2475243E-03
Pour la lecture j'utilise quelque chose du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
float test;
fileStream.open(fileName.c_str(),std::ios::in);
fileStream.read((char*)&test, sizeof(test));
std::cout<<test<<std::endl;
Eh bien le gros problème c'est que quoi que je fasse, le 3ème float "3c6b1ae6" n'arrive pas à passer. Je ne sais pas à quoi c'est dû, ça doit être très sioux. De plus, la lecture du float suivant ne passe pas (mais si j'ouvre le fichier et que je fais un seek au 4ème float, il n'y a pas de problème). Le problème est donc vraiment sur cette valeur "3c6b1ae6".

Si vous avez une idée de tests à faire et du pourquoi du comment du problème cela m'intéresse parce que là j'avoue que je ne comprends pas du tout .

Merci