windows xp下支持获取本地ip的c++代码
时间: 2024-03-12 20:47:54 浏览: 14
获取本地IP的C++代码如下:
```c++
#include <iostream>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
// 初始化Winsock库
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
{
std::cout << "初始化Winsock库失败!" << std::endl;
return 1;
}
// 获取本地主机名
char hostName[256];
if (gethostname(hostName, sizeof(hostName)) == SOCKET_ERROR)
{
std::cout << "获取主机名失败!" << std::endl;
WSACleanup();
return 1;
}
std::cout << "主机名:" << hostName << std::endl;
// 获取本地IP地址
struct hostent* host = gethostbyname(hostName);
if (host == nullptr)
{
std::cout << "获取IP地址失败!" << std::endl;
WSACleanup();
return 1;
}
char* ip = inet_ntoa(*reinterpret_cast<in_addr*>(host->h_addr_list[0]));
std::cout << "IP地址:" << ip << std::endl;
// 释放Winsock库资源
WSACleanup();
return 0;
}
```
这段代码可以在 Windows XP 上编译运行,并且可以获取本地IP地址。