这是获胜机器的MAC地址来改IP地址的代码,能帮忙解决下吗?要详细
CString getmac(CString ip)
{
unsigned char byMAC[6];
ULONG macAddLen = 6;
IPAddr dwIP;
dwIP=inet_addr(ip);
CString temp;
if (SendARP(dwIP, (unsigned long)NULL,(PULONG)byMAC, &macAddLen) == NO_ERROR )
{
temp.Format("%.2x-%.2x-%.2x-%.2x-%.2x-%.2x",byMAC[0],byMAC[1],byMAC[2],byMAC[3],byMAC[4],byMAC[5],byMAC[6]);
return temp;
}
else
{
return "error";
}
}
CString getmac(CString ip)
{
unsigned char byMAC[6];
ULONG macAddLen = 6;
IPAddr dwIP;
dwIP=inet_addr(ip);
CString temp;
if (SendARP(dwIP, (unsigned long)NULL,(PULONG)byMAC, &macAddLen) == NO_ERROR )
{
temp.Format("%.2x-%.2x-%.2x-%.2x-%.2x-%.2x",byMAC[0],byMAC[1],byMAC[2],byMAC[3],byMAC[4],byMAC[5],byMAC[6]);
return temp;
}
else
{
return "error";
}
}
把最后一个参数byMAC[6]去掉
byMAC[6]这是访问越界
ULONG macAddLen = 6;
IPAddr dwIP;
dwIP=inet_addr(ip);
CString temp;