ip转整型 和整型转ip

#define _CRT_SECURE_NO_WARNINGS  
#include<stdio.h>  
#include<stdlib.h>  
#include<string.h>  


int main(void)
{
	 char ip[] = "127.0.0.1";
	 int a, b, c, d;
	 sscanf(ip, "%d.%d.%d.%d", &a, &b, &c, &d);
	 printf("%d,%d,%d,%d\n", a, b, c, d);


	 int tmp = 0;
	 unsigned char * p = (unsigned char *)&tmp;
	 p[0] = d;
	 p[1] = c;
	 p[2] = b;
	 p[3] = a;


	 printf("a = %d\n", tmp); //0x7f000001  




	 printf("\n");


	 //整型转ip  
		// unsigned char *pp = (unsigned char *)&tmp;
	int  *pp = &tmp;

	 int a1 = *((unsigned char *)pp + 3);
	 int a2 = *((unsigned char *)pp + 2);
	 int a3 = *((unsigned char *)pp + 1);
	 int a4 = *((unsigned char *)pp + 0);


	 printf("%d\n", a1);
	 printf("%d\n", a2);
	 printf("%d\n", a3);
	 printf("%d\n", a4);


	 char ips[1024];


	 sprintf(ips, "%d.%d.%d.%d", a1, a2, a3, a4);


	 printf("整型转ip为%s\n", ips);




/*
	<span style="white-space:pre;"> </span>127,0,0,1
	a = 2130706433


	127
	0
	0
	1
	整型转ip为127.0.0.1
	请按任意键继续. . .

>*/


		 system("pause");
	 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值