获取IP地址
[ 2008-5-1 23:00:00  ]
 

WORD   wVersionRequested;  
  WSADATA   wsaData;  
  char   name[255];  
  CString   ip;  

// LPCSTR  ip;
  PHOSTENT   hostinfo;  
  wVersionRequested   =   MAKEWORD(   2,   0   );  
  if   (   WSAStartup(   wVersionRequested,   &wsaData   )   ==   0   )  
  {  
          if(   gethostname   (   name,   sizeof(name))   ==   0)  
          {  
  if((hostinfo   =   gethostbyname(name))   !=   NULL)  
                          ip   =   inet_ntoa   (*(struct   in_addr   *)*hostinfo->h_addr_list);  

          printf("当前IP:%s",ip);

          printf("\n当前主机名:%s",name);
          }  
          WSACleanup(   );  
  }  

 

编译的时候,应将ws2_32.lib输入到object/library modyles中,因为socket定义都在ws2_32.lib中.

 

完整程序实现:

#i nclude<stdio.h>
#i nclude<winsock2.h>
#pragma comment(lib,"ws2_32.lib")
void CheckIP(void)
{
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);

printf("%s\n",ip);
}
}
WSACleanup( );
} }

int main(void)
{
CheckIP();
return 0;
}

 

 
 
 
发表评论:
载入中......

 

博 客 导 航
载入中......
管 理 后 台
载入中......
详 细 信 息
载入中......
 
安全:瑞星官方升级
            太阳人
            丁香鱼
             Autoruns
             痕迹清理
             清理助手
    学习:安全焦点     协议分析       推荐:瑞星卡卡    绿色软件    免费社区                                       
Powered by Oblog.