正常可見IP 為 127.0.0.1
實際存儲為整形就是將IP的四個整數放到整形對應的四個字節上
#define _IP_MARK "."
//IP轉換成int
unsigned int IPtoINT(const string & strIP)
{
unsigned int nRet = 0;
char chBuf[16] = "";
memcpy_s(chBuf, 15, strIP.c_str(), 15);
char* szBufTemp = NULL;
char* szBuf = strtok_s(chBuf,_IP_MARK,&szBufTemp);
int i = 0;//計數
while(NULL != szBuf)//取一個
{
nRet += atoi(szBuf)<<((3-i)*8);
szBuf = strtok_s(NULL,_IP_MARK,&szBufTemp);
i++;
}
return nRet;
}
//int轉換成IP
string INTtoIP(uint32_t num)
{
string strRet = "";
for (int i=0;i<4;i++)
{
uint32_t tmp=(num>>((3-i)*8))&0xFF;
char chBuf[8] = "";
_itoa_s(tmp, chBuf, 10);
strRet += chBuf;
if (i < 3)
{
strRet += _IP_MARK;
}
}
return strRet;
}
---------------------
作者:僅僅學會簡單
來源:CSDN
原文:https://blog.csdn.net/u011261430/article/details/78112784
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!