#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include <WinSock2.h>
#include <windows.h>
#include <iostream>
#pragma comment(lib,"ws2_32")
using namespace std;
int main(int argc, char* argv[])
{
//init socket
WSADATA stData = { 0 };
WORD dVer = MAKEWORD(2, 2);
WSAStartup(dVer, &stData);
//get host name
char szHost[MAX_PATH] = { 0 };
gethostname(szHost, MAX_PATH);
//get address info from host name
hostent* pHost = gethostbyname(szHost);
in_addr stAddr = { 0 };
char* pAddr = nullptr;
for (int i = 0;; i++)
{
pAddr = pHost->h_addr_list[i];
if(!pAddr)
break;
//copy IP address
memcpy(&stAddr.S_un.S_addr, pAddr, pHost->h_length);
//show IP address
cout << "IP: " << inet_ntoa(stAddr) << endl;
}
system("pause");
WSACleanup();
return 0;
}