inet_pton函数是用于将一个IPv4或IPv6的字符串形式地址转换为二进制形式的网络字节序。在Windows环境中,由于不支持IPv6的inet_pton函数,可以使用WSAStringToAddress函数来实现类似的功能。
示例代码如下:
#include <winsock2.h>
#include <ws2tcpip.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
{
return -1;
}
const char* ipAddr = "192.168.0.1";
sockaddr_in sa;
int saLen = sizeof(sa);
if (WSAStringToAddressA((LPSTR)ipAddr, AF_INET, NULL, (SOCKADDR*)&sa, &saLen) != 0)
{
return -1;
}
// 使用sa中的sin_addr.s_addr即可获取转换后的二进制地址
WSACleanup();
return 0;
}
这段代码使用了WinSock库,并调用了WSAStartup初始化和WSACleanup清理工作。然后使用WSAStringToAddress函数将IP地址字符串转换为二进制格式。注意要包含相应的头文件并链接相应的库。
内容由零声教学AI助手提供,问题来源于学员提问