frufu
Messages postés3Date d'inscriptionvendredi 23 décembre 2016StatutMembreDernière intervention27 décembre 2016
-
Modifié par frufu le 27/12/2016 à 00:03
Bonjour,
je cherche à envoyer une trame composée d'int (sur 4 octets) de float (4 octets) et de long long int (8 octets) sur un réseau.
Pour la création de mon message j'utilise sprintf et passe mes valeurs via %c
int main (void) { unsigned int Val_1 = 100; // 4 octets long long int Val_2 = 534939467046LL; // 8 octets float Val_3 = -1.5; // 4 octets char message[16]={0}; printf("En clair : Val_1 :%d\tVal_2 :%llu\tVal_3 :%f\n",Val_1, Val_2, Val_3); printf("En hexa : Val_1 :%.8x\tVal_2 :%.16llx\tVal_3 :%.4x\n",Val_1, Val_2, Val_3);
Via Wireshark, je constate que cela fonctionne pour la valeur int (j'observe bien la valeur hexa précédemment affichée) mais pour pas pour les autres valeurs....
j'imagine que je m'y prends mal pour créer ma trame. Il y a peut-être une fonction autre que sprintf plus judicieuse ?? Il ne faut pas passer par les caractères car sur 4 octets uniquement , mais alors comment faire ??
Merci d'avance pour votre (précieuse) aide (et bonne fête de fin d'année !!!)