博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ip地址转换: char * <---> unsigned int
阅读量:4142 次
发布时间:2019-05-25

本文共 1034 字,大约阅读时间需要 3 分钟。

       仅做记录:

 

#include
#include
#include
#include
#include
#include
using namespace std;int main(){ char szIP[32] = "10.172.18.18"; unsigned int ulIP1 = htonl(inet_addr(szIP)); cout << ulIP1 << endl; unsigned int ulIP2 = htonl(ulIP1); string resultIP=inet_ntoa(*(in_addr*)(&ulIP2)); cout << resultIP << endl; return 0;}

     结果:

 

179048978

10.172.18.18

 

     有时候如果忘了大小端字节序, 就容易出错, 如转成了18.18.172.10.

 

     再来看下:

 

#include    
#include
using namespace std;string uiIP2Str(unsigned int uiIP, bool bNetByteOrder = true){ char szIP[16] = {0}; unsigned char *c = (unsigned char *)&uiIP; if(bNetByteOrder) { snprintf(szIP, sizeof(szIP), "%hhu.%hhu.%hhu.%hhu", *c, *(c+1), *(c+2), *(c+3)); } else { snprintf(szIP, sizeof(szIP), "%hhu.%hhu.%hhu.%hhu", *(c+3), *(c+2), *(c+1), *c); } return string(szIP);}int main(){ unsigned int uiIP = 179048978; cout << uiIP2Str(uiIP, false) << endl; return 0;}

       结果:10.172.18.18

 

 

 

转载地址:http://bkwti.baihongyu.com/

你可能感兴趣的文章
流形学习-高维数据的降维与可视化
查看>>
Python-OpenCV人脸检测(代码)
查看>>
python+opencv之视频人脸识别
查看>>
人脸识别(OpenCV+Python)
查看>>
6个强大的AngularJS扩展应用
查看>>
网站用户登录系统设计——jsGen实现版
查看>>
第三方SDK:讯飞语音听写
查看>>
第三方SDK:JPush SDK Eclipse
查看>>
第三方开源库:imageLoader的使用
查看>>
自定义控件:飞入飞出的效果
查看>>
自定义控件:动态获取控件的高
查看>>
第三方开源库:nineoldandroid:ValueAnimator 动态设置textview的高
查看>>
第三方SDK:百度地图SDK的使用
查看>>
Android studio_迁移Eclipse项目到Android studio
查看>>
JavaScript setTimeout() clearTimeout() 方法
查看>>
CSS border 属性及用border画各种图形
查看>>
转载知乎-前端汇总资源
查看>>
JavaScript substr() 方法
查看>>
JavaScript slice() 方法
查看>>
JavaScript substring() 方法
查看>>