我也不知道
不过我知道怎么转
把IP地址串的四段拆除来,分别付给DWORD的四个8位就OKstruct IN_IP{unsigned char s_b1, s_b2, s_b3,s_b4;}
DWORD IPString2DWORD(char *IP)
{
char T[4];
DWORD D= 0 ;
IN_IP *A=(IN_IP *)&D;
char *p =NULL,*q=NULL;
p = strstr(IP,".");
ZeroMemory(T,4);
strncpy(T,IP,strlen(IP) - strlen(p));
A->s_b4= atoi(T);
q=p;
p = strstr(q+1,".");
ZeroMemory(T,4);
strncpy(T,q+1,strlen(q) - strlen(p));
A->s_b3 =atoi(T);
q=p;
p = strstr(q+1,".");
ZeroMemory(T,4);
strncpy(T,q+1,strlen(q) - strlen(p));
A->s_b2 =atoi(T);
ZeroMemory(T,4);
strcpy(T,p+1);
A->s_b1 = atoi(T);
return D;
}方法虽然笨拙 但总算实现了
例如www.csdn.net=211.101.228.186
就可以通过http://3546670266访问
不过我知道怎么转
把IP地址串的四段拆除来,分别付给DWORD的四个8位就OKstruct IN_IP{unsigned char s_b1, s_b2, s_b3,s_b4;}
DWORD IPString2DWORD(char *IP)
{
char T[4];
DWORD D= 0 ;
IN_IP *A=(IN_IP *)&D;
char *p =NULL,*q=NULL;
p = strstr(IP,".");
ZeroMemory(T,4);
strncpy(T,IP,strlen(IP) - strlen(p));
A->s_b4= atoi(T);
q=p;
p = strstr(q+1,".");
ZeroMemory(T,4);
strncpy(T,q+1,strlen(q) - strlen(p));
A->s_b3 =atoi(T);
q=p;
p = strstr(q+1,".");
ZeroMemory(T,4);
strncpy(T,q+1,strlen(q) - strlen(p));
A->s_b2 =atoi(T);
ZeroMemory(T,4);
strcpy(T,p+1);
A->s_b1 = atoi(T);
return D;
}方法虽然笨拙 但总算实现了
例如www.csdn.net=211.101.228.186
就可以通过http://3546670266访问
此问题我以前也遇到过,不过我是把IP地址进行分段后再将分段后的四小段分别再通过函数
atol()转化为long型的,不过你可以再把long型的结果再转化为DWORD.
atol()的头文件是 <stdlib.h>
声明原形为:long atol( const char *string );
(详细可参见msdn)
DWORD lip = inet_addr(strIP);