我正在为telnet客户端编写c ++代码。我在从用户输入中获取主机地址时遇到问题。
struct in_addr peers;
cin>>peers;
peerserver = gethostbyaddr((const char*)peers,4,AF_INET);
if (peerserver == NULL)
exit(0);
我是c ++的新手,任何人都可以提出一种更好的方法来获取用户输入的主机地址。提前谢谢。
答案 0 :(得分:1)
您要找的是gethostbyname
,而不是gethostbyaddr
。 gethostbyaddr
假设您已获得IP地址。
char peers[256];
cin >> peers;
struct hostent *ent = gethostbyname(peers);
printf("%04x\n", *(int *)(ent->h_addr));