nslookup en visual c++


Un nslookup minimaliste en visual c++, pour obtenir un nom de host à partir de l'adresse IP. Créer une nouvelle application win32, ajouter ws2_32.lib dans la liste des librairies pour le link. et voici le code :
#include <stdafx.h>
#include <windows.h>
#include <winsock.h>
#include <stdio.h>

int main ( int argc, char *argv[] ) {
  struct hostent *sn;
  struct in_addr in;
  WSADATA wsaData;
  WORD wVersionRequested;

  if ( argc != 2 )
    exit(1);

  wVersionRequested = MAKEWORD( 2, 2 );
  WSAStartup( wVersionRequested, &wsaData );

  in.s_addr = inet_addr(argv[1]);
  sn = gethostbyaddr((char *)&in, 4, AF_INET);

  if ( sn )
    printf("%s\n", sn->h_name);
  else
    printf("?\n");