- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 VS 中使用 getnameinfo(),但是当我尝试显示结果时,它看起来像是编码错误,我无法弄清楚原因。我错过了什么?
#include <iostream>
#include <string>
#include <winsock2.h>
#include <Ws2tcpip.h>
#pragma comment(lib,"Ws2_32.lib")
using namespace std;
void main()
{
char host[1024];
string inputAddress;
struct sockaddr_in socketAddress;
cout << "IP to Hostname resolve :\n";
cin >> inputAddress;
socketAddress.sin_family = AF_INET;
inet_pton(AF_INET, inputAddress.c_str(), &(socketAddress.sin_addr));
getnameinfo((struct sockaddr *)&socketAddress, sizeof(socketAddress), host, 1024, NULL, NULL, 0);
cout << host;
system("pause");
}
输出如下:
IP to Hostname resolve : 43.34.43.34 Hostname: ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠ ┌┤♦H■ş Press any key to continue . . .
最佳答案
首先调用 WSAStartup()。这是必需的。
WSADATA wd;
WSAStartup(MAKEWORD(2,2), &wd);
关于c++ - getnameinfo() c++ 的奇怪结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27273999/
我有问题。我想将 IP 地址 (81.2.195.254) 转换为主机名 (www.farnost-hranice.cz)。 这里你可以尝试转换一下这个IP地址看看是否正确: https://what
根据问题,我遇到了 getnameinfo 导致的一些内存泄漏。我正在使用 Ubuntu 12.04(Linux scv 3.2.0-35-generic#55-Ubuntu SMP Wed Dec
我使用 C 代码通过 getnameinfo api 从 IPv6 地址获取主机名。它返回 0 表示成功,但目标字符串为“空”。不知道错在哪里。 error_info = getnameinfo(wh
我试图在 VS 中使用 getnameinfo(),但是当我尝试显示结果时,它看起来像是编码错误,我无法弄清楚原因。我错过了什么? #include #include #include #inc
getnameinfo 原型(prototype)的第二个参数要求 socklen_t 类型,但 sizeof 使用 size_t。那么我怎样才能得到 socklen_t 呢? 原型(prototyp
在我的 C 程序中,我使用 getaddrinfo 从主机名获取 IP 地址,并使用 getnameinfo 从 IP 地址获取主机名。这两个功能是互补的。我在 man getaddrinfo 中读到
我在调用 getnameinfo 时遇到错误 ai_family 不支持。 1 #include 2 #include 3 #include 4 #include 5 #i
getnameinfo 原型(prototype)的第二个参数要求 socklen_t 类型,但 sizeof 使用 size_t。那么我怎样才能得到 socklen_t 呢? 原型(prototyp
我有一个 IP 地址 5.5.5.5 并且有两个主机名指向它。 从命令行 host 5.5.5.5 DNS.in-addr.arpa 域名指针地址1.test.com。 DNS.in-addr.arp
我无法处理它,看不到我的代码有什么问题。 试图通过 IP 打印名称(我怀疑的网站),我三天都做不到,这让我很沮丧。 所以,我的代码: /** * task1.c -- getnameinfo() u
我正在编写一些跨平台网络代码,并且在 Windows 上的 getnameinfo() 中遇到了一些不一致的行为。和 Linux (WSL)。 下面的代码执行以下操作: 使用 getaddrinfo(
我正在使用 getnameinfo 如下: ifaddrs *ifaddr = NULL, *ifa = NULL; int rc, family, insize; rc = getifaddrs(&
gethostbyname() 或 getnameinfo() 如何在后台工作? #include #include #include /* paddr: print the IP addres
我在 sockaddr 上有以下扩展: extension sockaddr { /// Indicates if this is an IPv4 address. var isIPv4: B
有一个函数 https://linux.die.net/man/3/getnameinfo我怎么知道它的系统调用是什么? Linux 系统调用表中没有这样的函数。还是仅存在于该 C 库中? 最佳答案
在代码中: if ((host = (struct hostent*) gethostbyname(address) ) == 0) // address is a string 在 4.5.x gc
我正在尝试寻找 getnameinfo 的 Delphi 包装器和getaddrinfo套接字 API。有人知道在哪里可以找到它们或者已经创建了它们并且不介意分享吗? 最佳答案 它们是 Indy 10
就在昨天,在调试我的 Android 应用程序时,我发现每当无法进行反向 dns 查找时,我的连接都会花费大量时间来启动(大约 20-30 秒)。 我设法将来源缩小到 InetAddress.getH
如何将 vector* 类型的变量传递给 winsock2 的 getnameinfo 函数? GetSocketIPAndPort( struct sockaddr* ss, vector* pIP
我有以下 UDP 客户端通信代码: clUDPPort::clUDPPort(int prt,string hostname){ //client nServerPort = prt; szHostN
我是一名优秀的程序员,十分优秀!