IP格式转换

作者在 2008-05-07 19:37:53 发布以下内容

IP地址格式转换在网络编程中会经常遇到,下面总结一下:

 

UINT->LPSTR

 

//将一个具有网络字节序的UINT型IP地址转化为点分十进制的字符串形式的IP

//方法1(很简单,不用解释了)


char *IpToString(char *ip, unsigned long lIp)
{
char octeto[4];
 ip[0] = 0;
 itoa(lIp & 0xff, octeto, 10);
 strcat(ip, octeto);
 strcat(ip, ".");


 itoa((lIp >> 8) & 0xff, octeto, 10);
 strcat(ip, octeto);
 strcat(ip, ".");


 itoa((lIp >> 16) & 0xff, octeto, 10);
 strcat(ip, octeto);
 strcat(ip, ".");
 itoa((lIp >> 24) & 0xff, octeto, 10);
 strcat(ip, octeto);
 
 return ip;
}
//方法2
char * IpToString(char *ip, unsigned long lIp)
{


 struct in_addr in; //struct in_addr是IP地址结构体
 in.S_un.S_addr=lIp;
 ip=inet_ntoa(in);
 //inet_ntoa功能:将struct in_addr形式的IP地址转化为LPSTR型


 return ip;
}

 

LPSTR->UINT

 

//将一个点分十进制的字符串形式的IP转化为具有网络字节序的UINT型

 

unsigned long inet_addr (
  const char FAR * cp 
);//使用该Win32 API函数即可实现

 

 

注意:在使用inet_ntoa和inet_addr函数时要

Header: Declared in winsock2.h.

Import Library: Link with ws2_32.lib.


本博客于即日起(2009.2.26)停止更新,


新博客地址:http://www.redicecn.cn ,

本博客的大部分文章已经转移到新博客中...


默认分类 | 阅读 3867 次
文章评论,共1条
vfdff
2008-05-08 00:51
1
踩踩
游客请输入验证码
浏览585023次