【发布时间】:2012-04-19 02:49:58
【问题描述】:
我从 SQL Server 数据库中获得了 IP 地址。 现在我在'char'中有这个IP地址。 但是,我想转换字符串 IP(例如:“127.0.0.1”) 到 IPADDRESS 控件.. 我是PIC HERE 我们是怎么做到的:D?
【问题讨论】:
标签: c++ winapi visual-c++
我从 SQL Server 数据库中获得了 IP 地址。 现在我在'char'中有这个IP地址。 但是,我想转换字符串 IP(例如:“127.0.0.1”) 到 IPADDRESS 控件.. 我是PIC HERE 我们是怎么做到的:D?
【问题讨论】:
标签: c++ winapi visual-c++
您可以使用InetPton 函数将其转换为二进制地址,然后可用于设置控件。
char ip_address_string[] = "127.0.0.1";
DWORD address;
if (LOBYTE(LOWORD(GetVersion())) >= 6)
{
IN_ADDR address_struct;
InetPtoN(AF_INET, ip_address_string, &address_struct);
address = (DWORD) address_struct.S_un.S_long;
}
else
{
address = (DWORD) inet_addr(ip_address_string);
}
现在你可以使用address来初始化控件了。
【讨论】:
inet_addr,直到我注意到 InetPton 也支持 IPv6!
InetPton 也仅适用于 Vista+。
inet_addr。