怎么获取本机的外网地址

如何获取本机的外网地址
void   GetIPAddress(char*   pIP)       //获取IP地址
{
WSADATA   wsaData;
char   name[155];
char   *ip;
PHOSTENT   hostinfo;  
if   (   WSAStartup(   MAKEWORD(2,0),   &wsaData   )   ==   0   )
{  
if(   gethostname   (   name,   sizeof(name))   ==   0)  
{  
if((hostinfo   =   gethostbyname(name))   !=   NULL)  
{   //这些就是获得IP的函数
ip   =   inet_ntoa   (*(struct   in_addr   *)*hostinfo-> h_addr_list);  

strcpy(pIP,ip);
}
}

WSACleanup(   );
}
}

我是这样获取IP地址的,可是获取出来只是内网的IP,请问如何获取本机的外网地址呢?

------解决方案--------------------
外网ip只能通过外部获取