struct hostent *pHost;
pHost=gethostbyname((char *)p);

char buf[1024];
sockaddr_in sa;
ULONG macAddress;
struct ASTAT 

     ADAPTER_STATUS adapt; 
     NAME_BUFFER NameBuff[30]; 
} Adapter; 
bzero(&Adapter,sizeof(Adapter)); for (int nAdapter=0; pHost->h_addr_list[nAdapter]; nAdapter++)
{
memcpy ( &sa.sin_addr.s_addr, pHost->h_addr_list[nAdapter],pHost->h_length);
// 输出机器的IP地址.
AfxMessageBox(inet_ntoa(sa.sin_addr)); // 显示地址串

ULONG macAddLen = 6;
DWORD iRet;

         iRet=SendARP(inet_addr(inet_ntoa(sa.sin_addr)), (unsigned long)NULL,&macAddress, &macAddLen);

if ( iRet == NO_ERROR )
{
AfxMessageBox("ok");
}
                 -----------------------------------------
                            unsigned char q[6];
q[6]=((unsigned char)(&macAddress));
                         我不知道怎么弄了?
                         怎么将去出的MAC地址转入数组q
                          ------------------------------------------
Adapter.adapt.adapter_address[0]=q[0];
Adapter.adapt.adapter_address[1]=q[1];
Adapter.adapt.adapter_address[2]=q[2];
Adapter.adapt.adapter_address[3]=q[3];
Adapter.adapt.adapter_address[4]=q[4];
Adapter.adapt.adapter_address[5]=q[5];
}

char acMAC[18]; 
sprintf(acMAC, "%02X:%02X:%02X:%02X:%02X:%02X", 
Adapter.adapt.adapter_address[0], 
int (Adapter.adapt.adapter_address[1]), 
int (Adapter.adapt.adapter_address[2]), 
int (Adapter.adapt.adapter_address[3]), 
int (Adapter.adapt.adapter_address[4]), 
int (Adapter.adapt.adapter_address[5])); 
谢谢各位高手帮忙!