Bonjour,
J'ai 4 octets (une adresse ip) dans le type :
unsigned long int s_addr;
Je voudrais le caster en u_char de façon à pouvoir récupérer chaque octet.
Comme faire ?
Merci d'avance,
Bonjour,
J'ai 4 octets (une adresse ip) dans le type :
unsigned long int s_addr;
Je voudrais le caster en u_char de façon à pouvoir récupérer chaque octet.
Comme faire ?
Merci d'avance,
avec les masques et les décalages.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 unsigned char val0 = s_addr & 0xff; unsigned char val1 = (s_addr >> 8) & 0xff; unsigned char val2 = (s_addr >> 16) & 0xff; unsigned char val3 = (s_addr >> 24) & 0xff;
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Ou encore : u_char * octets = (u_char *)&s_addr;
Les octets sont octets[0] à octets[3].
Oui j'ai rencontré ce problème de "boutisme" mais qu'est ce que c'est ?
La méthode du & fonctionne bien par contre.
Le boutisme est dû aux différentes architectures de micro processeurs. Certains micro processeurs présentent les octets poid forts en tête, d'autres présentent les octets poid faibles en tête. Si l'on n'y fait pas attention, cela provoque un problème de portabilité courant entre des programmes qui discutent entres eux (au travers du réseau par exemple) avec des architectures différentes (Intel et Sparc par exemple).
On parle de little endian ou big endian, regarde ici pour plus d'info : http://fr.wikipedia.org/wiki/Endianness
Les 2 méthodes fonctionnent (au problème de boutisme près), peut être que celle de Melem est un peu plus rapide.
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Partager