📄 util.c
字号:
#include "page1.h"
ULONG Dec_atol(PXCHAR pBuf)
{
DCHAR iTmp;
XLONG lTotal;
lTotal = 0;
while (1)
{
iTmp = *pBuf ++;
if (iTmp < '0' || iTmp > '9')
break;
lTotal = 10*lTotal + (iTmp - '0');
}
return lTotal;
}
ULONG Dec_atol2(UCHAR iLength, PXCHAR pBuf)
{
DCHAR i, iTmp;
XLONG lTotal;
lTotal = 0;
for (i = 0; i < iLength; i ++)
{
iTmp = pBuf[i];
if (iTmp < '0' || iTmp > '9')
break;
lTotal = 10*lTotal + (iTmp - '0');
}
return lTotal;
}
/*
UCHAR Dec_atoi(PXCHAR pBuf)
{
DCHAR i, iTmp, iTotal;
iTotal = 0;
for (i = 0; i < 3; i ++)
{
iTmp = pBuf[i];
if (iTmp < '0' || iTmp > '9')
break;
iTotal = 10*iTotal + (iTmp - '0');
}
return iTotal;
}
*/
BOOLEAN String2IP(UCHAR iLength, PXCHAR pString, PXCHAR pIp)
{
DCHAR i, j, k;
XLONG lAddr;
i = 0;
k = 0;
while (i < iLength)
{
j = i;
while (pString[j] >= '0' && pString[j] <= '9')
j ++;
lAddr = Dec_atol2((UCHAR)(j - i), (PXCHAR)(pString + i));
if (lAddr >= 256)
return FALSE;
if (k < IP_ALEN)
pIp[k ++] = (UCHAR)lAddr;
else
return FALSE;
i = j + 1;
}
if (k != IP_ALEN)
return FALSE;
return TRUE;
}
BOOLEAN String2MAC(UCHAR iLength, PXCHAR pString, PXCHAR pIp)
{
DCHAR i, j, k;
XLONG lAddr;
i = 0;
k = 0;
while (i < iLength)
{
j = i;
while (pString[j] >= '0' && pString[j] <= '9')
j ++;
lAddr = Dec_atol2((UCHAR)(j - i), (PXCHAR)(pString + i));
if (lAddr >= 256)
return FALSE;
if (k < HW_ALEN)
pIp[k ++] = (UCHAR)lAddr;
else
return FALSE;
i = j + 1;
}
if (k != HW_ALEN)
return FALSE;
return TRUE;
}
void IP2String(PXCHAR pIP, PXCHAR pString)
{
XCHAR pTemp[16];
DCHAR i;
pString[0] = 0;
for (i = 0; i < IP_ALEN; i ++)
{
p_itoa(pIP[i], pTemp, 10);
p_strcat_x2x(pString, pTemp);
if (i < (IP_ALEN -1))
p_strcat_c2x(pString, (PCCHAR)".");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -