IP字符串转为int类型存储代码

在网络传输中,将你IP字符串压缩成整形数据来传送,能大大提高效率:
192.168.255.155 将一个15 个字符的ip压缩成Int 类型 ,即将一个15字节的文件,转化成了4字节的int整数

代码:
#include <stdio.h>
int ip2int(char ip[]);
void int2ip(int n);

int main()
{
char s[] = "192.168.2.1";//定义一个ip字符串
int ipint = ip2int(s);
int2ip(ipint);
return 0;
}

int ip2int(char ip[]) //将字符串转化为一个int整数
{
int a, b, c, d;
sscanf(ip, "%d.%d.%d.%d", &a, &b, &c, &d);//分别读取字符串的数字部分
printf("a=%d,b=%d,c=%d,d=%d\n", a, b, c, d);
int intip = 0;
char *p = &intip;
*p = a;
p++;
*p = b;
p++;
*p = c;
p++;
*p = d;
printf("ip = %d\n", intip);
return intip;
}

void int2ip( int n)//将一个整数转为ip并打印
{
unsigned char *p = &n;
printf("%u.%u.%u.%u\n", *p, *(p + 1), *(p + 2), *(p + 3));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crystalnsd

万水千山总是情,支持一下行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值