VC++获取本机公网IP

 

VC++获取本机公网IP,VC++没有提供专门的相关函数,但是可以通过访问一个查询IP的网页来获取本机的公网IP。

具体实现代码如下:

TCHAR szTempFile [MAX_PATH];
UINT nResult=GetTempFileName (szTempPath, _T ("~ex"),0,szTempFile);


int ret=URLDownloadToFile(NULL,"http://www.tf163.com/ver/netip.asp",szTempFile,BINDF_GETNEWESTVERSION,NULL);
if (ret==S_OK) //如果下载成功
{
   FILE *f;
   f=fopen(szTempFile,"rb");
   if(f)
   {
    fseek(f,0,SEEK_END);//得到文件大小
    int ilength=ftell(f);
    fseek(f,0,SEEK_SET);
   
    if(ilength>0)
    {  
    
     char *szIP[32];
     ZeroMemory(szIP,sizeof(szIP));
     fread(szIP,ilength,1,f);
     fclose(f);
     DeleteFile("ip.ini");
     CString csIp;
     csIp.Format("外网IP:%s",szIP);
    
     SetDlgItemText(IDC_EDIT_IP,csIp);
    
    }
   }
  
}
else
   SetDlgItemText(IDC_EDIT_IP,"Error!");

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值