#include <iostream> #include <Winsock2.h> using namespace std; string GetLocalIpAddress() { WORD wVersionRequested = MAKEWORD(2, 2); WSADATA wsaData; if (WSAStartup(wVersionRequested, &wsaData) != 0) return ""; char local[255] = {0}; gethostname(local, sizeof(local)); hostent* ph = gethostbyname(local); if (ph == NULL) return ""; in_addr addr; memcpy(&addr, ph->h_addr_list[0], sizeof(in_addr)); // 这里仅获取第一个ip string localIP; localIP.assign(inet_ntoa(addr)); WSACleanup(); return localIP; } void main() { char date[100]; strcpy (date, const_cast<char*>(GetLocalIpAddress().c_str())); cout<<date<<endl; system("PAUSE"); }