[C , C++ ] gethostbyname

gethostbyname [C , C++ ] - Programmation

Marsh Posté le 18-07-2002 à 21:42:19    

voila , je fai sun appelle a la fonction gethosbyname , qui me renvoie dans une structure hostent l'ip et d'autre info d'un "site" , mais , a chaque fois , dans le champ h_addr ( qui est un alias de h_addr_list[0]) je trouve de la boullie
 
voila ce que ca donne :
 
struct hostent *param_de_l_host;
param_de_l_host=gethostbyname("www.hardware.fr" );
cout << "\n l'ip est : "<< param_de_l_host->h_addr<<"\n";
 
 
ce qui me donne :  
 
 l'ip est : Ô+Ý
 
 
voila je c pas trop quoi faire la ca me gonfle un peu  
 
ps : desoler pour les fautes , le francais c pas mon fort :=)
 

Reply

Marsh Posté le 18-07-2002 à 21:42:19   

Reply

Marsh Posté le 18-07-2002 à 21:53:01    

hs : kikoo bilbobman :hello:

Reply

Marsh Posté le 18-07-2002 à 22:00:55    

ca te renvoie pas plutot l'ip sous forme d'un int plutot que d'une de caracterer, ce truc, non ?

Reply

Marsh Posté le 18-07-2002 à 22:02:54    

essaye :
 

Code :
  1. hostent *g_he = NULL;
  2. memset((char *)&g_he, 0, sizeof(g_he));
  3. if((g_he = gethostbyname("forum.hardware.fr" )) == NULL)
  4. return false;
  5. else
  6. cout << "\n l'ip est : "<< g_he->h_addr<<"\n";


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 18-07-2002 à 22:19:24    

hum marche pas mieux , la je pige pas quand meme , le pire c que j'ai deja utlisé cette fonction dans un autre code il y a quelque mois et la ca avait rulezzz je pige pas ....
donc toujour la meme chaine de char qui est renvoyer c chiant ...

Reply

Marsh Posté le 18-07-2002 à 23:19:16    

Essaie ça :
 

Code :
  1. pinAddr = ((LPIN_ADDR)lpHostEntry->h_addr_list[0]);
  2. printf("%s", inet_ntoa(*pinAddr));

Reply

Marsh Posté le 18-07-2002 à 23:54:59    

desoler mais pinAddr c quel type de variable ? un string je supose et le ((LPIN_ADDR) je connait pas ce type la pour la convertion y a des header a inclure suplementaire ?

Reply

Marsh Posté le 19-07-2002 à 00:01:29    

c'est du in_addr*, c'était marqué dans le nom de la variable et en plus t'aurais pu retrouver le type de la variable en regardant l'aide de inet_ntoa. ;)


Message édité par *syl* le 19-07-2002 à 00:02:30
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed