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 ", 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 ", l_int_ip);
 system("pause");
}

原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/7931875.html