C++ IP Address人类可读的形式

Kev*_*son 5 c c++ sockets

在C/C++中,您可以使用常规gethostbyname()调用将点分IP地址字符串(在localhost的情况下为"127.0.0.1")转换为适合标准套接字调用的结构.

现在你怎么翻译回来?我知道我可以进行一些位移,以准确得到我想要的位集,然后将它们打印出去,但是有没有"标准"功能为我做这个?它用于输出到日志文件中,因此我"真的"知道我连接的是谁/什么,因此人类可读的虚线地址比原始十六进制要好得多.

谢谢.

Tyl*_*nry 10

首先,在新代码中,您通常应该更喜欢使用getaddrinfo()到gethostbyname(),这是旧的和笨重的,并且很难用于支持IPv4和IPv6.请看:https://beej.us/guide/bgnet/html/multi/syscalls.html

其次,执行所需功能的函数称为inet_ntop.