首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

hostinfo = gethostbyname(host);赋值异常,不知道为什么

2012-03-09 
hostinfo gethostbyname(host)赋值错误,不知道为什么//getnameServer.cpp--main#includestdlib.h#inc

hostinfo = gethostbyname(host);赋值错误,不知道为什么
//getnameServer.cpp   --   main
#include   <stdlib.h>
#include   <stdio.h>
#include   <winsock2.h>

int   main()
{
        struct   hostent*   FAR   hostinfo;
        char   FAR   *   host;
char   FAR     FAR**   addrs;

printf( "Input   name   of   host:   ");

      //----------------------
      //   Allocate   64   byte   char   string   for   host   name
      host   =   (char*)   malloc(sizeof(char)*64);
      fgets(host,   64,   stdin);

      //   If   the   user   input   is   an   alpha   name   for   the   host,   use   gethostbyname()
      //   If   not,   get   host   by   addr   (assume   IPv4)
      if   (isalpha(host[0]))   {       /*   host   address   is   a   name   */
         
              if   (host[strlen(host)-1]   ==   '\n ')  
              host[strlen(host)-1]   =   '\0 ';  
              hostinfo   =   gethostbyname(host);
      }

printf( "results   for   host   %s:\n ",host);
printf( "Name:   %s\n ",hostinfo-> h_name);

        addrs   =   hostinfo-> h_addr_list;
while(*addrs)
{        
printf( "   %s ",inet_ntoa(*(struct   in_addr   *)*addrs));
addrs++;
}
        printf( "\n ");
return   0;
}

hostinfo   =   gethostbyname(host);这句赋值总是不成功,照着msdn上的例子写的啊,
host已经等于 "localhost "的了,但是hostinfo就还是不能得到正确的值,

[解决办法]
接分ing

热点排行