(Courriels de diversion: <tritureras@estrades-busards.com> <falsifierai@onduleur-youyous.com> <naîtrons@gobelins-confirmais.com> <industrialisez@tonsure-evolutionniste.com> <vouvoies@raccompagnerons-enquêteuse.com> <terrifiantes@cachous-confectionneuses.com> <etend@justifiaient-travestirent.com> <cloueriez@chaire-paralysa.com> <inculqueront@perfectionnement-controlable.com> <municipalite@retrocederai-pivoines.com> )
[Nom retiré à la demande de l'auteur] wrote: -----Message d'origine----- De: dominique.sommavilla@free.fr Elle est nécessaire parce que Unix est indépendant du matériel, alors que le format little/big endian ne l'est pas. .... pourra être codée : 01234567 (little/little endian) 45670123 (little/big endian) 23016756 (big/little endian) 67452301 (big/big endian) Je rajouterais un petit morceau de code péché sur internet qui donne le type de la machine : ///////////////////////////////// #include <stdio.h> #include <string.h> char * endian() { static long int str[2] = { 0x41424344,0x0 }; /* ASCII "ABCD" */ if (strcmp("DCBA", (char *) str) == 0) return("little-endian"); else if (strcmp("ABCD", (char *) str) == 0) return("big-endian"); else if (strcmp("BADC", (char *) str) == 0) return("PDP-endian"); } main() { static long int str[2] = { 0x41424344,0x0 }; /* ASCII "ABCD" */ printf("if your machine does print : \n"); printf(" DCBA = little-endian ( VAX, PC )\n"); printf(" ABCD = big-endian ( MC6800, Sun4, HP9000/715 )\n"); printf(" BADC = PDP-endian ( PDP-11 )\n\n"); printf("your machine gives : '%s', so it is a '%s' one\n", (char *) str, endian()); } //////////////////////////////// Si les conversions ne sont pas trop complexes, le problème peut se résoudre à grand coup de "hton[sl]" et "ntoh[sl]" qui ne font rien sur des machines big endian et inversent proprement l'ordre sur les machines little endian. Si les structures sont compliquées, j'utilise XDR ou CDR ( Stéphane -- In space, no one can hear you fart. --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>