Trouver sa propre adresse ip

Contenu du snippet

ce code semble un peu plus 'propre' que ceux que j'ai pu voir ici, mais je sais pas s'il marche dans tous les cas donc...

Source / Exemple :


#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#include <stdio.h>
#include <stdlib.h>

void main()
{
   WSADATA wsaData;
   char host[100];
   HOSTENT* ip_resolue;
   SOCKADDR_IN valip;
   int compteur;

   // Initialisation des sockets windows.
   WSAStartup(MAKEWORD(2, 0), &wsaData);

   // Recuperation du nom d'hote de votre ordi.
   gethostname(host,sizeof(host)); 

   ip_resolue = gethostbyname(host);

   if (ip_resolue != NULL) // si c'est NULL sans doute n'est on pas connecté.
   {
      // recuperation du dernier entier 'compteur' tel que ip_resolue->h_addr_list[compteur] n'est pas null
      for (compteur = 0; ip_resolue->h_addr_list[compteur+1] != NULL; compteur++) {}

      memcpy(&valip.sin_addr.s_addr, ip_resolue->h_addr_list[compteur], ip_resolue->h_length);

      printf("Votre ip vaut : %s \n",inet_ntoa(valip.sin_addr));
   }
}

Conclusion :


si chez des gens ca ne marche pas, dites quel est votre OS, d'ou vous etes connectés et votre idée sur le fait que chez vous ca ne donne pas ce qu'il faut.
Merci ;)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.