(Précision qui n'apporte rien à la compréhension du pb, mais à la curiosité d'ordre générale:
J'ecris un fichier au format .shp à partir d'un bmp)
Pour écrire mon fichier shp qui contient des int et des doubles, j'utilise respectivement fwrite(&unInt, 4, 1, fich) et fwrite(&unDouble, 8, 1, fich), avec un swap de mes octets, en fonction du Byte Order.
Jusque là no souci.
J'en ecris quelques uns dans mon fichier test, 60 int, et 26 double
Ce qui nous fait si je sais encore compter : 60*4+26*8 = 268 bytes
Or mon fichier de sortie en contient 269.. Et là ça ne va plus, puisque mon shp n'est plus lisible.
J'edite mon fichier en hexa, et je me rends compte que vient s'insérer le byte 0D entre le 3eme et 4eme byte de mon fichier. Si au hasard je vire ce byte indésirable, mon fichier contient bien sûr 268 bytes, et miraculeusement devient lisible.
D'où peut venir ce 0D (13 en décimale..) à la con en 4eme position ?
---------------
A ver...