62 ip与int类型的转换
在我们shell下,有一个ping命令,在一般情况下,可以与互联网上的另一台计算机检测是否网络相通.
ping
域名 www.baidu.com
ping ip
61.135.169.121
ping 整数
1032300921
3D87A979
一个ip4协议的IP地址起始范围是0.0.0.0 -
255.255.255.255
最大4个255,其实正好是0x ff ff ff ff
一个无符号int 4字节整数可以存放. 0xff ff ff
ff
#include <stdio.h>
#include
<stdlib.h>
#include <string.h>
void main() {
unsigned int l_ip =
1032300921;
unsigned char *lp = (unsigned char *)&l_ip;
printf("%u.%u.%u.%u\n", lp[3], lp[2], lp[1],
lp[0]);
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
#include
<string.h>
// f_ip_chartoint
// f_ip_inttochar
//
从难开始学,从底层开始学,从原理开始学,从自己实现函数开始学.
// 提前把很多常用的函数功能给我们封装好了,我们直接使用就可以了.
void
main() {
char l_char_ip[] = "124.165.216.64";
unsigned int l_int_ip =
0;
unsigned char *lp = (unsigned char *)&l_int_ip;
int l_v0, l_v1,
l_v2, l_v3;
sscanf(l_char_ip, "%u.%u.%u.%u", &l_v0, &l_v1,
&l_v2, &l_v3);
lp[0] = l_v3;
lp[1] = l_v2;
lp[2] =
l_v1;
lp[3] = l_v0;
printf("对应的Int类型IP为:%u\n", l_int_ip);
system("pause");
}