带有用户输入的c ++ gethostbyaddr

时间:2010-10-07 04:22:51

标签: c++ network-programming

我正在为telnet客户端编写c ++代码。我在从用户输入中获取主机地址时遇到问题。

struct in_addr peers;

cin>>peers;

peerserver = gethostbyaddr((const char*)peers,4,AF_INET);

if (peerserver == NULL)
    exit(0);

我是c ++的新手,任何人都可以提出一种更好的方法来获取用户输入的主机地址。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您要找的是gethostbyname,而不是gethostbyaddrgethostbyaddr假设您已获得IP地址。

char peers[256];
cin >> peers;
struct hostent *ent = gethostbyname(peers);
printf("%04x\n", *(int *)(ent->h_addr));