2011-03-21 62 views
2

我可以将字符串转换为IP地址在多个平台上的c + + Windows(各种版本)和Unix系统?C++字符串到ipAddress windows/unix系统

+0

你需要什么令人兴奋的......你必须将字符串转换为格式化为这样xxx.xxx.xxx.xxx astring? – Kevin 2011-03-21 13:16:30

+0

目前尚不清楚你想要什么。这是什么字符串?主机名或IP地址,还是...? – 2011-03-21 13:36:08

回答

3

您可以使用inet_addr()函数将表示为字符串的IP地址转换为可与其他套接字函数一起使用的表单。

下面是一个例子使用(从here拍摄):

int rc; 
int s; 
struct sockaddr_in myname; 

/* clear the structure to be sure that the sin_zero field is clear */ 
memset(&myname, 0, sizeof(myname)); 
myname.sin_family = AF_INET; 
myname.sin_addr = inet_addr("129.5.24.1"); 
/* specific interface */ 
myname.sin_port = htons(1024); 
+0

我必须编写适用于Windows和UNIX系统的代码。 以前无法知道。如何更改此代码? – Safari 2011-03-21 13:21:16

+0

该代码可以在Windows和UNIX系统上使用。 – trojanfoe 2011-03-21 13:28:18

+0

为了在Windows和Unix系统上使用此代码,我必须包含哪些内容? – Safari 2011-03-21 13:33:21

0

如果你有一个主机名或FQDN,你需要一个DNS查询或内部主机列表中查询其转换为IP地址,那么你需要使用gethostbyname