请求IP 转换的有关问题

请求IP 转换的问题!
接收到数据包为   char   str[100]   =   "0X430X50.... ";
前面4个字节为IP地址.
我现在需要把前面的4字节转为IP地址.
一般都是:ipHeader.sourceIP   =   inet_addr( "192.168.1.89 ");   可以转.
我现在收到的都是   0X43   这样的数据,   怎么使其能填充到ipHeader.sourceIP   中?  

麻烦大侠指点一下!

------解决方案--------------------
DWORD dwIP;
memcpy(&dwIP, str, sizeof(dwIP));

in_addr a;
a.s_addr = dwIP;

char* pszIP = inet_ntoa(a);

printf( "%s\n ", pszIP);


------解决方案--------------------
端口好像就没必要了吧?