Bonsoir à tous !

Voila, je souhaite effectuer une conversion entre une variable de type u_short et une variable de type const char*.
Avant j'aurais une petite question à poser pour que je puisse bien comprendre le cast.
Dans la FAQ C++, il parle de différents types de famille, j'avoue avoir mal compris. Pour moi, un int est une famille, un char est une famille, un long est une famille, etc..., et donc j'ai du mal à comprendre la différence entre static_cast et reinterpret_cast.
Ai-je mal compris ?

Pour la conversion, entre un u_short et un const char*, je bloque totalement, et je ne comprend pas pourquoi je n'y arrive pas. Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
const char *c = NULL;
c = reinterpret_cast<const char*>(eh->eth_type);
Le compilateur me dit rien, et lorsque j'arrive à cette ligne, mon programme plante. J'avais eu l'idée de convertir la variable eh->eth_type en const unsigned char*, et ensuite lorsque je la reconvertie en const char*, cela fait bugger mon programme, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
const char *c = NULL;
const unsigned char *h = NULL;
h=reinterpret_cast<const u_char*>(eh->eth_type);
c=reinterpret_cast<const char*>(h);
J'avoue avoir besoin d'un peu d'explications sur certain point.

Je vous remercie par avance de votre aide.

Cordialement,
vegnagun