複数のIPアドレスを取得します。

#include "stdafx.hを"
する#include <stdio.hに>
する#include <WINSOCK.H>
書式#include <windows.hに>
する#include <string.hの>

ボイドメイン()
{
 構造体たhostent * thishost。
 構造体in_addr形式で、
 チャーMYNAME [80]。
 char *のPtr。
 WORD wVersionRequested;
 WSADATA WSADATA;
 INT ERR;
    私はint型、n個。//循环变量

 wVersionRequested = MAKEWORD(2、0) ; // 設定のWinsockバージョン
 ERR = WSAStartupの(wVersionRequestedを、&​​WSADATA ); // 有効Winsockのサポート(Winsockは参照カウントを増加させる)
 IF(!ERR = 0)
 {
  ;終了(0)
 }
 (のgethostnameをMYNAME、80); //ホスト名取得
 thishost =のgethostbyname(MYNAMEを); //ホスト情報(IPなど)を取得
 void *型のmemsetを(()&はsizeof、中(中)、0);
 
 //サイクル数を取得します(IPアドレスの数)
 N- = STRLEN(* thishost-> h_addr_list)、
    N-N- = / 2。

 用(i = 0; iは<N; iは++)
 {
  in.s_addr = *((unsigned long型*)thishost-> h_addr_list [I])。
  PTR = INET_NTOA(IN)
        printf( "IP地址%D:%のS"、I + 1、PTR)。
 }

 WSACleanup(); //は、Winsockは、(参照カウントを減少させる)動的ライブラリをアンロード
}
 
オリジナル:HTTPS://blog.csdn.net/paopaoc/article/details/562447
 

おすすめ

転載: www.cnblogs.com/hshy/p/11124547.html
おすすめ