在发布这个问题之前,我查看了这里的讨论: in_addr_t to string
我的问题不同。
我知道inet_ntoa函数的类型如下:
char * inet_ntoa (struct in_addr in);
我想知道的是 in_addr_t
是什么。
当它在套接字程序中使用时,它将表示什么。
我查看了 <netinet/in.h>
中的结构定义。
typedef uint32_t in_addr_t;
struct in_addr {
in_addr_t s_addr;
};
这个变量的类型是 in_addr_t,我不想像 inet_ntoa 那样将它打印为 char *。我想看看 in_addr_t 的内容。那么如何实现或者说 in_addr_t 到底是什么,为什么在套接字编程中一次又一次地使用它?如果我没有弄错,它被定义为 typedef uint32_t in_addr_t;。所以,如果 in_addr_t 是无符号 32 位整数,我想查看其中的内容,而不是向 stdout 打印类似 192.168.1.1 的输出。