unsigned int str_to_ip(const char *pStr)
{
signed char j = 0;
unsigned char cIp;
unsigned int uiRet = 0;
const char *p = pStr;
cIp = (unsigned char)atoi(p);
uiRet |= ( ((unsigned int)(cIp)) << (j*8) );
j++;
while ( (*p != 0) && j >= 0)
{
if (*p != '.')
{
p++;
continue;
}
cIp = (unsigned char)atoi(++p);
uiRet |= ( ((unsigned int)(cIp)) << (j*8) );
j++;
}
return uiRet;
}
char * ip_to_str(const unsigned int iIp, char *pStr)
{
unsigned char i;
unsigned char cIp[4];
for (i=0; i<4; i++)
cIp[i] = (unsigned char)( (iIp>>(i*8)) & (0xff) );
sprintf(pStr, "%d.%d.%d.%d", cIp[0], cIp[1], cIp[2], cIp[3]);
return pStr;
}
str_to_ip ,ip_to_str
最新推荐文章于 2023-03-27 13:59:15 发布
本文提供了两个用于IP地址转换的C语言函数:str_to_ip用于将点分十进制字符串转换为无符号整数形式的IP地址;ip_to_str则实现相反的转换过程,即将无符号整数形式的IP地址转换回点分十进制字符串形式。
7132

被折叠的 条评论
为什么被折叠?



