cs_bouba
Messages postés518Date d'inscriptiondimanche 2 décembre 2001StatutMembreDernière intervention10 novembre 2007
-
15 janv. 2006 à 11:44
cs_bouba
Messages postés518Date d'inscriptiondimanche 2 décembre 2001StatutMembreDernière intervention10 novembre 2007
-
15 janv. 2006 à 15:11
Bonjour, j'ai un problème que je ne comprend pas avec la fonction read, le problème vient lorsque j'essai de lire 4 ocets à mettre dans un entier.
J'essai de faire
int tmp;
read(fd, &tmp, 4);
printf("%d\n", tmp);
L'affichage me donne 402653184 au lieu de 24
car lorsque je réalise ceci à la place j'ai bien 0 0 0 24
Sachant que précédemment j'ai déjà réalisé les mêmes lectures sur 4 ocets et que celà fonctionnait très bien je ne comprends pas quel est le problème !
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 15 janv. 2006 à 12:43
24=18h
Et tu remarques que 18000000h=402653184.
Dans ton fichier, tu dois donc avoir 24 0 0 0 et pas 0 0 0 24 (les poids faibles en premier).
De toutes facons si tu écris l'entier avec write, ca se fait automantiquement (heureusement!), donc normalement tu n'a pas à t'en soucier