读书人

VC怎么把整型的ip的值转换成一个IP地址

发布时间: 2012-03-18 13:55:39 作者: rapoo

VC如何把整型的ip的值转换成一个IP地址?
VC里如何把整型的ip的值转换成一个IP地址?

[解决办法]
CString ip= "127.0.0.1 "; --- < < <----- 串表示的 IP地址
u_long uip = inet_addr(ip); --- < < <-- 将串表示的 IP 地址转换成 长整型的表示形式(4Bytes)
inet_ntoa完成逆转
[解决办法]
应该还要ntohl()把IP地址从网络序转换成主机序吧
[解决办法]
void SetIP( CString ip )
{
int i;
int left = 0, right = 0;

ip += _T( '. ' );
for ( i = 0; i < 4; i++ )
{
left = right;
right = ip.Find( _T( '. ' ), right );
CString str = ip.Mid( left, right - left );
int j;
UINT8 byte = 0;
for ( j = 0; j < right - left; j++ )
{
TCHAR tchr = str.GetAt( j );
byte = byte * 10 + ( tchr - _T( '0 ' ) );
}
m_Byte[i] = byte;
right++;
}
}
m_Byte的声明:
unsigned char m_Byte[4];
long l = m_Byte[1] * 256 * 256 * 256 + m_Byte[0] * 256 * 256 + m_Byte[2] * 8 + m_Byte[3];
l就是你想要的了
[解决办法]
错了,应该是
long l = m_Byte[1] * 256 * 256 * 256 + m_Byte[0] * 256 * 256 + m_Byte[3] * 8 + m_Byte[2];
[解决办法]
int ip;
整型的ip转换后保存到buf中

struct in_addr in;

memcpy((char *)&in, (char *)&ip, 4);
sprintf(buf, "%s ", inet_ntoa(in));


[解决办法]
wakaka007() 方法对,还有4字节,可以分别取字节来解算,这个对IPV4有效
[解决办法]
inet_ntoa
[解决办法]
inet_ntoa

读书人网 >VC/MFC

热点推荐