您现在的位置:IT之家 >> 学院>> 程序开发教程>> C++教程 >> 正文内容
同级栏目:
ASP.NET教程ASP教程PHP教程JSP教程Perl教程PowerBuilder教程XML教程Visual C++教程c#教程Visual Basic教程JAVA教程C++ Builder教程C++教程Delphi教程shell教程NoahWeb教程移动开发教程
>内容阅读:

(long2ip,ip2long) C语言下的ip与long之间的互换

作者: 来源: 时间:2010年03月10日 【字体:

(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;
}