实际编程中,IP地址多用整型来表示,如int、unsigned int等。整型对于机器是友好的,对于编码人员就不那么友好了,毕竟我们还是喜欢用点分格式的IP地址,下面就写了个简单的小方法,供参考、使用;
#include "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string intToIp(int& iIPInt)
{
string strIp;
int iIPTmp = iIPInt;
int arriIPSection[4] = {0};
stringstream strteam;
for (int i=0;i<4;i++)
{
arriIPSection[3 - i] = (iIPTmp & 0xFF);;
iIPTmp = iIPTmp >> 8;
if (0 == iIPTmp)
{
break;
}
}
for (int i=0;i<4;i++)
{
strteam << arriIPSection[i];
if (i < 3)
{
strteam << '.';
}
}
strIp = strteam.str();
return strIp;
}