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 )
Normalement, cela encode les float suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 3c960d54 bcd6b9e6 3c6b1ae6 3bed7ca4
Pour la lecture j'utilise quelque chose du type :1.8316902E-02
-2.6211690E-02
1.4349675E-02
7.2475243E-03
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".
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;
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
Partager