Initialisation float à partir d'un flux
Bonjour a tous,
Voila mon probleme :
j'ecrit par exemple un simple float en binaire :
Code:
1 2 3 4 5
|
float f = 3;
DataOutputStream flux = new DataOutputStream(new FileOutputStream("mon file"));
flux.writeFloat(f);
flux.close(); |
et je lit grace a :
Code:
1 2 3
|
DataInputStream flux = new DataInputStream( new FileInputStream("mon file")) ;
float b = flux.readFloat(); |
Ceci marche tres bien , le probleme c'est que ce fichier binaire doit etre recupéré avec un programme c++
le programme c++ qui lit mon fichier binaire ne me retourne pas le meme float que je sauvegarde avec mon prog java.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
FILE *f = NULL;
float a = -1;
f = fopen("java.raw","rb");
if(f == NULL)
cout << "lecture Impossible" << endl;
else
{
fread(&a,sizeof(float),1,f);
fclose(f);
cout << "on recupere " << b << endl;
} |
Donc la question c'est y a t'il une inversion de byte ??
ou un decalage de byte ??
qui fait que l'echange de fichier binaire entre c++ et java n'est pas possible.
merci par avance .