(long2ip,ip2long) C语言下的ip与long之间的互换,下面是代码,无意之中看到的,希望对各位网友有用,如有疑问请留言!先看代码了:
代码
#include <stdio.h>
#include <winsock.h>
char *long2ip(u_long in);
u_long ip2long(char *ip);
int main()
{
char p[16];
printf("请输入IP地址:\n");
scanf("%s",p);
u_long l = ip2long(p);
printf("%s\n",long2ip(l));
int inum = 0 ;
scanf("%d",inum);
return 0;
}
char *long2ip(u_long in)
{
u_char *p;
p = (u_char*)(&in);
static char output[16];
_snprintf_s(output,16,16,"%d.%d.%d.%d",p[0],p[1],p[2],p[3]);
return output;
}
u_long ip2long(char *ip)
{
u_char addr[16];
sscanf(ip,"%d.%d.%d.%d",addr,addr+1,addr+2,addr+3);
u_long *vl = (u_long*)(&addr);
return *vl;
}
Copyright © IT之家(Www.IT55.Com) Powered By 易网科技 备案号:豫ICP备07012916号
本站QQ群:6614136 / 4218001 友情链接QQ:987950121